Sumar numero a un campo de hora

Hola Luis como siempre molestando,
la cuestión es, si yo tengo un control "hora_entrada" en un formulario y un cuadro de texto independiene para hacer una suma y es añadir 2 horas al control hora_entrada, o sea, si en el control hora_salida tiene la hora 20:00 y añadirle 2 horas, el cuadro de texto quedaría = 22:00. No se si me he explicado bien. Un saludo.

1 respuesta

Respuesta
1
Si usa dateadd("h" para horas
Funciona perfectamente así
= AgregFecha("n";150;[hora_salida]), porque había que añadir 2horas y media ,
lo que yo quería hacer es que en el formularia en el control hora_entrada en nuevo registro sumar 2horas y media sobre la hora de salida en el registro anterior, y pensado que se puede hacer por código con antes de insertar del formulario
Private Sub Form_BeforeInsert(Cancel As Integer)
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindLast "[id] = [id] + 1"
If Me.NewRecord Then
Me.hora_entrada = Nz(DMax("AgregFecha("n",90,hora_salida)", "horas"))
End If
End Sub

Pero no me deja me marca la n de minutos, como se podría hacer.
Un saludo,
Hola estoy dando vueltas al tema, con el siguiente código me funciona parcialmente, es decir cuando pasa de 00:00 entonces se actualiza el control con la hora del día anterior y nunca con la nueva es decir a partir de las 12 de la noche
Private Sub Form_BeforeInsert(Cancel As Integer)
Dim rs As Object
Dim ho As Integer
Set rs = Me.Recordset.Clone
rs.FindLast "[id] = [id] + 1"
If Me.NewRecord Then
Me.hora_entrada = DateAdd("n", 90, (DLookup("hora_lsalida", "horas")))
End If
End Sub
cambié lo que esta en negrita por este y me da el mismo resultado:
  DateAdd("n", 90, Nz(DMax("hora_salida", "horas"))
he intenado sumar 1 pero nada , alguna sugerencia.
Un saludo
Las horas ven unidas al los días
Usa una veriable date completa para eso las hicieron
Si no tendrás que verificar a mano todo
Enviame lo que tienes a ver como la arreglo a [email protected]
Te la envíe.
Muchas gracias y un saludo
Esta lista tu reparación
Se me olvido ponerle
Así busca la mayor hora y le agrega 90min
Me.hora_entrada = DateAdd("n", 90, (DMax("hora_salida", "horas")))
Esta ultima estaría bien di tuvieras días
porque después de las 12 vuelve a cero
tu problema es ese
fechas y horas juntas, recuerda que solo estas viendo horas
como dices esto
actualiza el control con la hora del día anterior y nunca con la nueva es decir a partir de las 12 de la noche
si aquí no hay días
Hola gracias por responder, entonces así no hay forma para que actualice las oras del día siguiente, entonces ¿cómo sería lo que dices de tener días porque se añadir campo fecha y así calcularlo?.
Un saludo
Ya te lo envío

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas