¿Cómo restar dos horas y que el resultado aparezca en minutos y segundos?

Estoy intentando restar dos horas pero lo único que consigo es que en el cuadro de texto me aparezca, por ejemplo 12:00 a.m. Además de una fecha. El código que utilizo es el siguiente, pero algo hago mal que no lo consigo hacer.

Dim mínimo As Date
Dim máximo As Date
Dim var_duración As long 
If IsNull(Me.txt_hora) Then
txt_hora = Time()
DoCmd.Save acDefault
End If
mínimo = Format(DMin("[Hora]", "[Registro_conductas_interacción]", "[Id] = " & Me.Parent.[Id]), "hh:mm")

máximo = Format(DMax("[Hora]", "[Registro_conductas_interacción]", "[Id] = " & Me.Parent.[Id]), "hh:mm") '

var_duración = DateDiff("s", mínimo, máximo)

Me.Parent.txt_duración.Value = Val(Str(Int(var_duración / 60)) & "," & Str(var_duración Mod 60))

Lo que quiero es que el valor final sea un decimal como "3,20" lo que yo entiendo como 3 minutos y 20 segundos. He estado mirando el ejemplo de Emilio Sancha pero no me funciona, así que he construído yo esta... Que tampoco me funciona bien

1 Respuesta

Respuesta
2

Hazlo así:

...

Me.Parent.txt_duración.Value =CDate(var_duración/86400)

Y no te recomiendo que uses acentos en los nombres de las variables (ni en los campos de la tabla, pero eso ya es más tediosos de cambiar...)

Ya me dirás.

Perfecto. Muchas gracias por tu ayuda.

Si no necesitas ninguna aclaración más sobre este tema, te agradecería valorases la respuesta para quitar la pregunta de la lista de "pendientes".

Gracias y un saludo.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas