Calcular diferencia de horas y minutos entre un inicio y un final en access

Os escribo porque he intentado llevar a código un calculo de diferencia de horas/minutos entre un horario de entrada y un horario de salida y me ha sido casi imposible.

La lógica es sencilla (y creo que muy trillada): DiferenciaHorario= [Hora Inicio]-[Hora Fin]

¿Alguna idea funcional?

2

2 Respuestas

826.350 pts. No responderé preguntas de usuarios que no valoren las...

Si los dos tiempos distan entre sí menos de 24 horas, lo puedes hacer mucho más sencillo que lo que te propone Icue (que también es una forma perfectamente válida) usando la resta directa y formateando el resultado:

DiferenciaHorario= Format([Hora Inicio]-[Hora Fin],"hh:nn:ss")

Y si lo quieres sin segundos:

DiferenciaHorario= Format([Hora Inicio]-[Hora Fin],"hh:nn")

Un saludo.


     bit.ly/ForoNkSv 

¡Gracias! ¡Ha funcionado correctamente!

¿Y para años es igual?

Si quieres restar años, meses días, horas... y que el resultado sean años, meses... tienes la función DifFecha() https://support.office.com/es-es/article/datediff-funci%C3%B3n-e6dd7ee6-3d01-4531-905c-e24fc238f85f

762.625 pts. No valoras las respuestas, no respondo la siguiente. No...

Los ordenadores no trabajan con horas, trabajan con números. Las hora, minutos, segundos, son decimales de día. Mira la imagen

Los nombres de los controles son HIN, HFN, HID, HFD y DifD. El origen del control equivales es

Pero si quieres trabajar con código, en el evento Después de actualizar del cuadro de texto HFN(equivale a tu hora HoraFinal) le pongo

Private Sub Hfn_AfterUpdate()
Diferencia = Int((CDec([Hfn]) - CDec([Hin])) * 24) & ":" & Int(((CDec([Hfn]) - CDec([Hin])) * 24 - (Int((CDec([Hfn]) - CDec([Hin])) * 24))) * 60)
End Sub

Con lo cual, cuando escribo la hora final

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas