Ciao a tutti, ho scritto un piccolo programmino con VB che calcola le temperature medie rilevate in un mese, ma mi dà dei problemi.
Dunque, l'interfaccia è così costruita: in una finestra ho una matrice di textbox (31 controlli denominati "Text1(x)"), una label chiamata "media" e un pulsante "Calcola media" nel cui evento clic vi è questo codice che ho scritto io e che apparentemente sembra funzionare:
codice:
Dim NUMEROTEXTBOX As Integer
Dim SOMMAVALORITEXTBOX As Double
Dim SUQUANTOLAMEDIA As Integer
For NUMEROTEXTBOX = 1 To 31
If Val(Text1(NUMEROTEXTBOX).Text) <> 0 Then
SOMMAVALORITEXTBOX = Text1(NUMEROTEXTBOX).Text + SOMMAVALORITEXTBOX
SUQUANTOLAMEDIA = 1 + SUQUANTOLAMEDIA
End If
Next NUMEROTEXTBOX
If SOMMAVALORITEXTBOX <> 0 And SUQUANTOLAMEDIA <> 0 Then
media = Format((SOMMAVALORITEXTBOX / SUQUANTOLAMEDIA), "#,##0.00")
Else: media = 0
End If
Il problema è questo. Se butto dentro a caso, magari senza riempire tutte le caselle, dei numeri, la media calcolata è giusta (ho provato a inserire in 15 caselle il valore +1, in altre 15 il valore -1 e lasciarne una vuota e il programma mi dà - giustamente - come risultato 0. Se butto dentro tutti 1 mi dà - giustamente - come risultato 1..... se metto invece i valori di cui mi interessa veramente la media, mi sbaglia il conto. Come è possibile? C'è qualche errore nel codice che ho postato?
Aiuto!
Ciao e grazie.
Ste