Torna al Thread
Private Sub Grafici_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
calcoli()
End Sub
Private Sub calcoli()
Dim sql2 As String = "SELECT Distinct YEAR(DataMovimento) FROM Movimenti"
Dim myCommand = New OleDbDataAdapter(sql2, MyConnection)
Dim dsData2 = New DataSet
myCommand.Fill(dsData2, "Movimenti")
Dim dtvData2 = New DataView(dsData2.Tables("Movimenti"))
Dim entrataMax As Double = 0
Dim uscitaMax As Double = 0
Dim utileMax As Double = 0
Dim entrataMin As Double = 0
Dim uscitaMin As Double = 0
Dim utileMin As Double = 0
Dim valoreMassimo As Double = 0
Dim valoreMinimo As Double = 0
For i = 0 To dsData2.Tables(0).Rows.Count - 1
Dim sql As String = "SELECT SUM(ImportiPositivi), SUM(ImportiNegativi) FROM Movimenti WHERE YEAR(DataMovimento)=@anno"
MyCommandData = New OleDbDataAdapter(sql, MyConnection)
MyCommandData.SelectCommand.Parameters.Add(New OleDbParameter("@anno", dsData2.Tables(0).Rows(i)(0)))
DSData = New DataSet
MyCommandData.Fill(DSData, "Movimenti")
DTVData = New DataView(DSData.Tables("Movimenti"))
Dim data As Double = dsData2.Tables(0).Rows(i)(0)
Dim entrate As Double = DSData.Tables(0).Rows(0)(0)
Dim uscite As Double = DSData.Tables(0).Rows(0)(1)
Dim utile As Double = entrate - uscite
'mi determina i valori massimi e minimi
entrataMin = Math.Min(entrataMin, entrate)
uscitaMin = Math.Min(uscitaMin, uscite)
utileMin = Math.Min(utileMin, utile)
entrataMax = Math.Max(entrataMax, entrate)
uscitaMax = Math.Max(uscitaMax, uscite)
utileMax = Math.Max(utileMax, utile)
valoreMinimo = Math.Min(utileMin, Math.Min(entrataMin, uscitaMin))
valoreMassimo = Math.Max(utileMax, Math.Max(entrataMax, uscitaMax))
'aggiunge le label al grafico
aggiungiLabel(data, 10, (i + 1) * 35)
aggiungiLabel(entrate, 85, (i + 1) * 35)
aggiungiLabel(uscite, 240, (i + 1) * 35)
aggiungiLabel(utile, 395, (i + 1) * 35)
aggiungiGrafico(data, (i + 1) * 60, 370)
Next
'dopo il ciclo for non mi esegue il metodo seguente
aggiungiGraficoVert(valoreMinimo, valoreMassimo)
End Sub