Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: hispapo en 29 Junio 2013, 12:00 pm



Título: Sumar horas más de 24 en access
Publicado por: hispapo en 29 Junio 2013, 12:00 pm
Buenos días,

Primero de todo, disculpad si esta duda no va aquí...

Estoy desarrollando una bbdd en access donde en un campo de una tabla se almacena el tiempo dedicado a una actividad en formato hora corta. Tengo que calcular el promedio de horas que se dedica a dicha actividad en un mes.

Mi problema comienza a la hora de sumar el tiempo empleado para dicha actividad. Al guardarlo en formato hora corta no me permite que el resultado sea, p.e. 25:00, siendo el resultado 1día (q lo deja oculto), y lo que aparece en pantalla es 1:00.

Alguien me podría ayudar a como realizar estos cálculos, tanto la suma como el promedio??

A la hora de almacenarlo en la tabla me da igual que se guarde como tipo hora o número. De cara al usuario, si que debería aparecer que ingresara en formato hh:mm. Y cuando saque el promedio de horas en el informe me diga: hh:mm.

Muchas gracias


Título: Re: Sumar horas más de 24 en access
Publicado por: |quark| en 8 Julio 2013, 13:06 pm
Hola hispano, debes usar las funciones de dateadd y datediff.

Con dateadd o AgregFecha sumas las horas con resultados mayores que 24 por supuesto.

Si tienes que restar usa Datediff o DifFecha.

Para calcular el promedio suma las horas y las divides por el numero de registros o count en subselect de la misma query.

Este ejemplo suma 57 horas a la fecha actual de un campo y se resta con la fecha actual con lo que se devuelven 57 que son las horas sumadas.
pp3: DifFecha("h";AgregFecha("h";57;[saldos].[ahora]);[saldos].[ahora])

Espero que te ayude.


Título: Re: Sumar horas más de 24 en access
Publicado por: hispapo en 3 Agosto 2013, 11:14 am
Buenas,

Primero de todo, muchas gracias por tu respuesta quark.

Voy a estudiar esto que me has pasado. Una pregunta, y a la hora de ingresar en el formulario, en una campo tipo fecha podría ingresar 57:24 e introducirlo en la tabla en un campo con formato fecha??

Muchas gracias