Sumar horas

RASAPE
16 de Febrero del 2006
Hola a [email protected]!

Tengo una tabla de access en la que sus 3 campos son de tipo date y mas concretamente

de tipo hora con formato HH:MM:SS

He probado con esto

suma = Format(TimeValue(rs(0).value) + TimeValue(rs(1).value)+ TimeValue(rs(2).value), "hh:mm:ss")

La cuestion es que cuando sobrepasa el valor 24:00:00 se reinicia

Es decir si los valores son 10:00:00 10:00:00 05:00:00 el resultado tendria que ser 25:00:00, pero sale 01:00:00

¿Cómo podria resolverlo?

Gracias


epa
16 de Febrero del 2006
Buenas,
una solucion rapida que se me ocurre pero no se si muy adecuada, es crear una variable que se incremente en uno por cada vez que las horas pasan de 24 as 1, luego pasas las horas a string y por cada "1" en la variable le sumas 24.
xD espeor sirva

RASAPE
16 de Febrero del 2006
Si las horas son 22:00:00 22:00:00 22:00:00 la suma seria 66:00:00

¿Como puedo detectar cuantas veces se pasa de 24?

Imagino que dividiendo, ¿pero como divido el resultado?

epa
16 de Febrero del 2006
ya tengo una mejo xD

pasas todas las horas a string y las divides en 3 (hs, mins y secs) luego sumas por separado y haces que si los segundo > a 60 los mins se le suma 1 y a los segs se le resta 60, y lo mismo entre mins y horas, luego vuelves a unir los 3 numeros y le agregas los :

RASAPE
16 de Febrero del 2006
¿Te es mucho pedir que me mandes un ejemplo?

No kiero abusar, pero la verdad es que me tiene cansado esto ya.

Gracias

epa
16 de Febrero del 2006
:S
En este momento no puedo ya que me encuentro en un cyber y no tengo el VB , y no quiero pasarte un pedaso de codigo que no sirva para nada, si quieres mas tarde te lo mando por mail

RASAPE
16 de Febrero del 2006
Te estaria muy agradecido.

[email protected]

epa
16 de Febrero del 2006
Jeje, agurante el bloc de notas, prueba esto, espero andde :
(deves crear un rs de la tabla la que sera rsHORAS, y
Hora el campo)



dim horas as integer
dim minutos as integer
dim segundos as integer


rsHORAS.MoveFirst

do while not EOF(rsHORAS)

text1.text = Hora
text1.selstart = 0
text1.sellenght = 2
horas = horas + text1.seltext
text1.selstart = 3
text1.sellenght = 2
minutos = minutos text1.seltext
text1.selstart = 6
text1.sellenght = 2
segundos = segundos + text1.seltext
rsHORAS.Movenext

loop

do while segundos > 60
minutos = minutos + 1
segundos = segundos - 60
loop

do while minutos > 60
horas = horas + 1
minutos = minutos - 60
loop

HoraFinal = Horas & ":" & Minutos & ":" & Segundos