Inicio > Microsoft Access > luis45ccs > sumar numero a un campo de hora

sumar numero a un campo de hora

Experto:
Usuario: Anónimo Fecha: 05/11/2009
Valoración: (5,00 sobre 5) Categoría: Microsoft Access
02/11/2009
Usuario
Hola Luis como siempre molestando,
la cuestion 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.
03/11/2009
fayad, experto respondiendo en Microsoft Access
Experto
Hola
si usa dateadd("h" para horas
 
03/11/2009
Usuario
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,
03/11/2009
Usuario
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 dia anterior y nunca con la nueva es decir apartir 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
04/11/2009
fayad, experto respondiendo en Microsoft Access
Experto
Hoal las horas ven unidas al los dias
usa una veriable date completa para eso las hicieron
si no tendras que verificar a mano todo
enviame lo que tienes a ver como la arreglo a luis45ccs@hotmail.com
 
04/11/2009
Usuario
te la envíe.
muchas gracias y un saludo
04/11/2009
fayad, experto respondiendo en Microsoft Access
Experto
esta lista tu reparación
04/11/2009
fayad, experto respondiendo en Microsoft Access
Experto
se me olvido ponerle
asi busca la mayor hora y le agrega 90min
Me.hora_entrada = DateAdd("n", 90, (DMax("hora_salida", "horas")))
04/11/2009
fayad, experto respondiendo en Microsoft Access
Experto
esta ultima estaria bien di tubieras dias
porque despuesde 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 dia anterior y nunca con la nueva es decir apartir de las 12 de la noche
si aqui no hay dias
 
04/11/2009
Usuario
Hola gracias por responder, entonces asi no hay forma para que actualice las oras del día siguiente, entonces ¿como sería lo que dices de tener días porque se añadir campo fecha y así calcularlo?.
un saludo
05/11/2009
fayad, experto respondiendo en Microsoft Access
Experto
Ya te lo envio
05/11/2009
Usuario
Hola Luis, muchas gracias por las molestias , eres un crack, me ha servido mucho.
saludos
Enlaces patrocinados