Controlli - Utilizzo Di Graph1 Ocx VisualBasic




Grafica # ' Vedi FrmGrafProvvigioni.frm progetto ATessile
On Error Resume Next
If Len(Data2.RecordSource) = 0 Then
Exit Sub
End If
Dim I As Integer
CRITERIO = "[Ragione Sociale] = " & Chr(34) & DBCombo1.Text & Chr(34)
Data2.Recordset.FindFirst CRITERIO
Select Case Modo
Case Is = 1 ' provvigioni
CRITERIO = " SELECT Provvigioni.IdAgente, Provvigioni.Anno, Sum(Provvigioni.Importo) AS Importo, Sum(Provvigioni.Euro) AS Euro, Sum(Provvigioni.TotaleFattura) AS TotaleFattura"
CRITERIO = CRITERIO & " From Provvigioni"
CRITERIO = CRITERIO & " GROUP BY Provvigioni.IdAgente, Provvigioni.Anno"
CRITERIO = CRITERIO & " HAVING (((Provvigioni.IdAgente)=" & Data2.Recordset!IdAgente & "))"
CRITERIO = CRITERIO & " ORDER BY Provvigioni.Anno DESC;"
Case Is = 2 ' fatturato fornitori
CRITERIO = " SELECT StoricoFatture.IdFornitore, Sum(StoricoFatture.ImponibileScontato) AS Importo, StoricoFatture.Anno"
CRITERIO = CRITERIO & " From StoricoFatture"
CRITERIO = CRITERIO & " GROUP BY StoricoFatture.IdFornitore, StoricoFatture.Anno"
CRITERIO = CRITERIO & " Having (((StoricoFatture.IdFornitore) = " & Data2.Recordset!IdFornitore & "))"
CRITERIO = CRITERIO & " ORDER BY StoricoFatture.Anno DESC;"
Case Is = 3 ' fatturato cliente
CRITERIO = " SELECT StoricoFatture.idcliente, Sum(StoricoFatture.ImponibileScontato) AS Importo, StoricoFatture.Anno"
CRITERIO = CRITERIO & " From StoricoFatture"
CRITERIO = CRITERIO & " GROUP BY StoricoFatture.idcliente, StoricoFatture.Anno"
CRITERIO = CRITERIO & " Having (((StoricoFatture.idcliente) = " & Data2.Recordset!IdCliente & "))"
CRITERIO = CRITERIO & " ORDER BY StoricoFatture.Anno DESC;"
Case Is = 4 ' Ordinato Fornitore
CRITERIO = " SELECT StoricoOrdini.IdFornitore, Sum(StoricoOrdini.[Imponibile Lire]) AS Importo, Sum(StoricoOrdini.Pezzi) AS Pezzi, StoricoOrdini.Anno"
CRITERIO = CRITERIO & " From StoricoOrdini"
CRITERIO = CRITERIO & " GROUP BY StoricoOrdini.IdFornitore, StoricoOrdini.Anno"
CRITERIO = CRITERIO & " Having (((StoricoOrdini.IdFornitore) = " & Data2.Recordset!IdFornitore & "))"
CRITERIO = CRITERIO & " ORDER BY StoricoOrdini.Anno DESC;"
Case Is = 5 ' Ordinato Cliente
CRITERIO = " SELECT StoricoOrdini.codiceCliente AS idCliente, Sum(StoricoOrdini.[Imponibile Lire]) AS Importo, Sum(StoricoOrdini.Pezzi) AS Pezzi, StoricoOrdini.Anno"
CRITERIO = CRITERIO & " From StoricoOrdini"
CRITERIO = CRITERIO & " GROUP BY StoricoOrdini.codiceCliente, StoricoOrdini.Anno"
CRITERIO = CRITERIO & " Having (((StoricoOrdini.codiceCliente) = " & Data2.Recordset!IdCliente & "))"
CRITERIO = CRITERIO & " ORDER BY StoricoOrdini.Anno DESC;"
End Select
Data1.RecordSource = CRITERIO
Data1.Refresh
DBGrid1.Refresh
Graph1.GraphType = gphBar3D
Graph1.AutoInc = 1
Graph1.ThisSet = 1
Graph1.ThisPoint = 1

Graph2.AutoInc = 1
Graph2.ThisSet = 1
Graph2.ThisPoint = 1

Graph1.DataReset = gphAllData
For I = 1 To 10
Graph1.GraphData = 0
Graph2.GraphData = 0
Graph1.LegendText = ""
Next

' ' verifica del N.ro dei record e inizializza il numero dei campi grafici da visualizzare

If Data1.Recordset.RecordCount < 10 And Data1.Recordset.RecordCount > 1 Then
Graph1.NumPoints = Data1.Recordset.RecordCount
Graph1.LabelEvery = Data1.Recordset.RecordCount
Graph1.TickEvery = Data1.Recordset.RecordCount
Graph1.YAxisTicks = Data1.Recordset.RecordCount
Graph2.NumPoints = Data1.Recordset.RecordCount
Graph2.LabelEvery = Data1.Recordset.RecordCount
Graph2.TickEvery = Data1.Recordset.RecordCount
Graph2.YAxisTicks = Data1.Recordset.RecordCount
Else
Graph1.NumPoints = 10
Graph1.LabelEvery = 10
Graph1.TickEvery = 10
Graph1.YAxisTicks = 10
Graph2.NumPoints = 10
Graph2.LabelEvery = 10
Graph2.TickEvery = 10
Graph2.YAxisTicks = 10
End If

Data1.Recordset.MoveFirst
Dim Ditta As String
Ditta = DBCombo1.Text

Graph1.LabelEvery = 1
Graph1.Labels = gphXAxisLabelsOnly
I = 1
' popolo con gli importi l'array graphdata

If Data1.Recordset.RecordCount > 10 Then
Data1.Recordset.MoveLast
Do While I <= 10
Data1.Recordset.MovePrevious
I = I + 1
Loop
I = 1
End If
Do While I <= 10 And Not Data1.Recordset.EOF
Graph1.GraphData = Data1.Recordset!Importo
Graph2.GraphData = Data1.Recordset!Importo
Data1.Recordset.MoveNext
I = I + 1
Loop
'If I <> 11 Then

' Dim II As Integer

' For II = I To 10

' Graph1.GraphData = 0

' Graph2.GraphData = 0

' Next

'End If

Data1.Recordset.MoveFirst
' popolo l'etichette della legenda

I = 1
Do While I <= 10 And Not Data1.Recordset.EOF
Graph1.LegendText = I & ") " & (Data1.Recordset![Anno]) & " £." & Format(Data1.Recordset!Importo, "###,###,###,###")
Graph2.LegendText = (Data1.Recordset![Anno])
Data1.Recordset.MoveNext
I = I + 1
Loop
'If I <> 11 Then

' Dim II As Integer

' For II = I To 10

' Graph1.LegendText = ""

' Next

'End If

' titolo

Select Case Modo
Case Is = 1
Graph1.GraphTitle = " Provvigioni agenti Agentex dell'arco di 10 anni "
Case Is = 2
Graph1.GraphTitle = " Fatturato Fornitori dell'arco di 10 anni "
Case Is = 3
Graph1.GraphTitle = " Fatturato Clienti dell'arco di 10 anni "
Case Is = 4
Graph1.GraphTitle = " Ordinato a Fornitori dell'arco di 10 anni "
Case Is = 5
Graph1.GraphTitle = " Ordinato da Clienti dell'arco di 10 anni "
End Select
Graph1.DrawMode = 2
Graph1.DrawMode = 4

Graph2.DrawMode = 2
Graph2.DrawMode = 4
errore:










( controlliutilizzodigraph1ocxvisualbasic.html )- by Paolo Puglisi - Modifica del 17/12/2023