Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

problema al calcular horas

Estas en el tema de problema al calcular horas en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/06/2008, 03:16
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
problema al calcular horas

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
__________________
Cámara Oscura
Etheria
  #2 (permalink)  
Antiguo 09/06/2008, 03:40
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: problema al calcular horas

Tienes que indicarle a que dia corresponde cada hora paraq ue funcione, prueba metiendo en TxtHoraInicio: 08/06/2008 23:00:00
txtHoraFinal: 09/06/2008 3:00:00

Veras como asi te da 4:00:00

Un saludo
  #3 (permalink)  
Antiguo 09/06/2008, 03:47
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: problema al calcular horas

bueno, los campos en donde se guardan los datos son de tipo fecha/hora en formato hora larga y en horainicio tengo puesto =HoraActual().

En el formulario tengo puesto que al pulsar haga lo siguiente
Me.TxtHoraFinal = Time()

Por lo que ahora me queda la duda (antes de modificar). Quito el =HoraActual() a horainicio de la tabla o con cambiarlo únicamente en el formulario me basta?
__________________
Cámara Oscura
Etheria
  #4 (permalink)  
Antiguo 09/06/2008, 03:55
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: problema al calcular horas

Pon un formato en la tabla que te permita guaradr fecha y hora. Donde tengas =HoraActual() cambialo por =now(), que te da la fecha y la hora. Lo mismo aqui:

Me.TxtHoraFinal = Now()

Un saludo
  #5 (permalink)  
Antiguo 09/06/2008, 04:11
Avatar de Koudelka  
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: problema al calcular horas

En principio me funciona, gracias ^_^
__________________
Cámara Oscura
Etheria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:18.