|
Hola,
Estos datos se guardan como un valor de 0 a 0.999. Si realizas un consulta en la que te sumen las horas lo que estaras sumando realmente son todos estos valores. Si luego lo que te salga lo multiplicas por 24 tendras el valor total en horas. Ej:
15:32+12:37=1.173 1.173*24=28,15, es decir 28 horas y 9 minutos
Pero ninguno de estos valores los podras poner en el formato que tu quieres ya que se traduciria a una hora entre las 0:00 y las 23:59, si lo hicieras con el 1.173 serian las 4:09, es decir, 24 horas mas 4:09 horas.
Otra opcion es obviar el formato hora del access y crearte una cadena de texto con el formato que a ti te guste. Imagina un campo llamado horas que seria donde se almacenan las horas de cada uno de los registros, lo que te propongo seria algo asi:
Cad(Ent(24*Suma([horas])))++"hs:"++Cad(Ent(60*((24*Suma([horas]))-Ent(24*Suma([horas])))))++"mm"
con Suma([horas]) lo que te calcula es la suma total de horas en el formato que te he dicho, en nuestro caso 1.173Al multiplicar por 24 estamos pasandolo a nuestra escala diaria de 0 a 24 en lugar de 0 a 0.9999. En nuestro caso 28,15
Al ponerle delante la funcion Ent nos devolvera el entero, es decir la horas completas.
(24*Suma([horas]))-Ent(24*Suma([horas]) lo que hace es devolvernos la parte decimal, es decir 0,15 en nuestro caso, que al multiplicarlo por 60 nos darian los minutos.
Luego he añadido funciones Cad() para transformar los numeros en texto y poder encadenarlos junto con el resto del texto que tu sugieres "hs:" y "mm"
Espero que te sirva, si no lo entiendes o si tienes cualquier otra duda me lo dices. Saludos
Angel
|