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: |