Restar horasen access

Hola
Deseo restar dos campos tipo hora te pongo un ejemplo
Si yo tengo rutas de mensajería y le pongo los horarios programados pero si salen más tarde o más temprano deseo como resulta la diferencia entre la hora programa y la hora real
hora programada-hora real = diferencia de hora
22:10 - 22:00 = a nada ya que si sale antes del horario estipulado no refleja la diferencia pero si es de la siguiente manera:
22:10 - 22:40 = 00:30 me debe de salir así ya me muestra que se retraso 30 minutos después de la hora programada.
Espero me puedas a yudar ya que tengo varios días con este problema te mando mi correo de donde yo trabajo ya que no tengo internet y poder estar al pendiente de tu respuesta [email protected]
Saludos

1 respuesta

Respuesta
1
Veamos, en primer lugar no sé en donde vas a colocar el resultado en una tabla o en un formulario o un informe, pero por el momento te voy a mostrar en un formulario a modo de ejemplo (yo trabajo mucho mejor con código):
1. Crea el formulario con dos textbox (uno con nombre hora_inicio y otro hora_fin)
2. Crea un tercer textbox llamado 'horas'
3. En un evento click de un botón, pon el siguiente código, depuras, guardas y ejecutas
'------------------------------------
Dim hora_programada As Date
Dim hora_real As Date
Dim dif_horas As Date
hora_programada = Format(Me.hora_inicio, "hh:mm")
hora_real = Format(Me.hora_fin, "hh:mm")
dif_horas = hora_programada - hora_real
If hora_programada > hora_real Then
   Me.HORAS = "" '--> condicion de que horas programadas > hora real
Else
   Me.HORAS = dif_horas '--> condicion cuando es menor
End If
'------------------------------------
O sino crea un sub como el siguiente:
Sub diferencia_horario(ByVal hora_programada As Date, ByVal hora_real As Date)
Dim hora_programada As Date
Dim hora_real As Date
Dim dif_horas As Date
hora_programada = Format(hora_inicio, "hh:mm")
hora_real = Format(hora_fin, "hh:mm")
dif_horas = hora_programada - hora_real
If hora_programada > hora_real Then
   Me.HORAS = ""
Else
   Me.HORAS = dif_horas
End If
End Sub
Y luego en el evento click o en cualquier parte puedes llamarlo como una función.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas