Il concetto è quello espresso in sintesi sotto
For intCampo = 4 To rs.Fields.Count - 1
'ciclo sui campi dove sono riportati i valori rilevati
If intCampo = 4 Then
'se il campo è il primo da esaminare memorizza nella varibile 'intRilevamentoPrecedente' il valore attuale del rilevamento che verrà usato poi per un controllo successivo
intRilevamentoPrecedente = rs.Fields(intCampo)
Else
'se il campo è successivo al primo da esaminare
If intQuantitàMax < (rs.Fields(intCampo) - intRilevamentoPrecedente) Then
'se il valore della variabile 'intQuantitàMax' attualmente memorizzato è
'inferiore alla differenza fra quello del campo attuale in esame e quello precedente
'aggiornerà il valore della variabile 'intQuantitàMax' con il nuovo dato
'dalla differenza fra quello del campo attuale in esame e quello precedente
intQuantitàMax = (rs.Fields(intCampo) - intRilevamentoPrecedente)
strOraRilevamentoQuantitàMax = rs.Fields(intCampo).Name
End If
'se memorizza nella varibile 'intRilevamentoPrecedente' il valore attuale del rilevamento che verrà usato poi per un controllo successivo
intRilevamentoPrecedente = rs.Fields(intCampo)
End If
Next
If intQuantitàMax = 0 Then
'emette il messaggio di mancate precipitazioni
MsgBox "Per la ricerca impostata non risultano precipitazioni.", vbInformation, "Risultato"
Else
'emette il messaggio con l'indicazione della quantità massima di precipitazione e l'orario in cui si è verificata
MsgBox "Il rilevamento di massima Precipitazione è di " & intQuantitàMax & "mm. verificatosi alle ore " & strOraRilevamentoQuantitàMax, vbInformation, "Risultato"
End If
dove controlla se fra i vari intervalli orari ci sono state delle precipaitazioni e prendendo quella di valore massimo.
Qui
https://app.boolebox.com/app/index.html?obj=360031003400370033003900360039003600300035003900380031003400300035003900 trovi un piccolo esempio.