secondo me datediff è abbastanza facile
codice:Private Function CalcolaIntervallo(DatIni As String, OraIni As String, DatFin As String, OraFin As String) As String '######################################################################################## '# la funzione restituisce il tempo trascorso espresso in giorni ore e minuti da una # '# data e ora iniziale a una data e ora finale. # '# si aspetta date in fomato dd/mm/yyyy e orari in formato hh:mm # '######################################################################################## On Error GoTo lblError Dim giorni As Integer Dim ore As Integer, minuti As Long, secondi As Long Dim d1 As String, d2 As String 'date estese 'controllo coerenza dati If Not (IsDate(DatIni) Or IsDate(DatFin)) Then CalcolaIntervallo = "-1" Exit Function End If If Not (IsDate(OraIni) Or IsDate(OraFin)) Then CalcolaIntervallo = "-1" Exit Function End If If CDate(DatIni) > CDate(DatFin) Then CalcolaIntervallo = "-1" Exit Function End If 'calcolo del tempo trascorso d1 = DatIni & " " & OraIni d2 = DatFin & " " & OraFin secondi = DateDiff("s", d1, d2) ore = Fix(secondi / 3600) minuti = Fix(secondi / 60) CalcolaIntervallo = ore & ":" & Format$(minuti, "00") Exit Function lblError: Call GestErrore(Me.Name & ".CalcolaIntervallo") End Function

Rispondi quotando