Access - Suma de horas >24h.

 
Vista:
sin imagen de perfil
Val: 29
Ha aumentado su posición en 12 puestos en Access (en relación al último mes)
Gráfica de Access

Suma de horas >24h.

Publicado por Ricardo (13 intervenciones) el 13/06/2021 20:13:13
Bunas tardes.

Tengo un formulario de Access 2019 en el que tengo un campo "Horas" y otro "=Suma([Horas])", ámbos con formato "Fecha Corta".

El problema es que cuando la suma es mayor a 24 horas no aparece bien presentada en el informe. Por ejemplo, un total de 27:30 aparece como 3:30.

Pueden ayudarme.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Suma de horas >24h.

Publicado por Anonimo (3306 intervenciones) el 13/06/2021 22:34:01
Para Access es lo correcto, esas veintisiete horas y media son: un día mas tres horas y media (los cálculos de tiempo los presenta con el formato de tiempo normalizado).

Se puede hacer el calculo inverso: multiplicar el numero de días por 24 y sumárselos a las horas
(pero en un campo de texto, si se hace en un campo numérico tendrás problemas, en formato decimal 30 minutos equivalen a 0,5 horas)

Hay hilos en este foro que tratan el tema de la suma de horas de forma amplia, siguen vigentes. (y así continuaran mientras no se cambie la forma consensuada de medirlo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Suma de horas >24h.

Publicado por Norberto (80 intervenciones) el 14/06/2021 10:31:41
Hola:

Puedes usar esta fórmula pero ten en cuenta que el valor retornado es de tipo texto:
1
2
3
4
5
6
7
8
9
10
Public Function FormatHHH(Hora As Date, Optional Segundos As Boolean = False) As String
    Dim HH As Long, MM As Integer, SS As Integer
 
    HH = Int(Hora) * 24 + Hour(Hora)
    MM = Minute(Hora)
    SS = Second(Hora)
 
    FormatHHH = Format(HH, "00") & ":" & Format(MM, "00") & IIf(Segundos, ":" & Format(SS, "00"), "")
 
End Function

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar