Hace tiempo hice un formulario en el que pulsando dos botones se me guardaban dos horas distintas y con esas horas, se me calculaba las horas de diferencia, el problema es que ahora me da un pequeño error.
El registro puede ser por ejemplo de la noche del día 6 con lo cual la primera hora puede ser guardada perfectamente como 23:00:00 y cuando pulsa el segundo botón puede que la hora sea las 03:00:00
La diferencia serían 4 horas, pero en el campo en que se me guarda el cálculo de horas me guarda como que han transcurrido 23 horas más o menos. Creo que es por el cambio de día o algo. Lo que tengo en el formulario es lo siguiente:
TxtTiempoTrancurrido = HoraMinutosSegundos(DateDiff("s", TxtHoraInicio, TxtHoraFinal))
Y esta es la función que tengo:
Public Function HoraMinutosSegundos(Seg As Long) As Date
Dim horas As Long
Dim minutos As Long
horas = Int(Seg / 3600)
Seg = Seg - horas * 3600
minutos = Int(Seg / 60)
Seg = Seg - minutos * 60
HoraMinutosSegundos = TimeSerial(horas, minutos, Seg)
End Function