Numero a formato HH:MM |
Responder
|
| Autor | |
JuanRB
Asiduo
Unido: 06/Mayo/2004 Localización: España Estado: Sin conexión Puntos: 324 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Tema: Numero a formato HH:MMEnviado: 24/Octubre/2024 a las 12:09 |
|
Buenos días,
En access 2013 tengo un campo numero con el valor de 17,50 (es el valor decimal de la jornada de trabajo semanal) y en otro campo (independiente) quisiera que me mostrara 17:30. Estoy loco buscando y hoy no es mi día, estoy "embotado". MUCHAS GRACIAS POR VUESTRA AYUDA
|
|
|
<font color=BLUE>Las oportunidades que tu pierdes, otro las aprovecha.[/COLOR]
|
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 24/Octubre/2024 a las 12:46 |
|
Hola,
No existe (hasta dónde a mi me consta) una función que haga eso en un solo paso. Necesitas obtener la parte entera de tu dato de referencia (función Fix) y la parte decimal. La parte decimal la multiplicas * 60 y tienes los minutos. Con la función SerieHora creas la hora. Imaginemos que tu referencia está en un cuadro llamado txtHoras El origen del otro control deberá ser: =SerieHora(Fix([txtHoras]);([txtHoras]-Fix([txtHoras]))*60;0) Puedes hacer lo mismo en una función VBA. Un saludo |
|
![]() |
|
JuanRB
Asiduo
Unido: 06/Mayo/2004 Localización: España Estado: Sin conexión Puntos: 324 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 24/Octubre/2024 a las 13:01 |
|
Muchas gracias XAVI,
El ejemplo me funciona con el numero 17,50, (por debajo de 24) pero cuando en el Campo [Jornada_Horas] (número decimal) tengo un valor por encima de 24 (por ejemplo 40 horas semanales) al campo [Horas] (con formato hora corta) me devuelve 16:00 que seria el resultado de 24+16 = 40, cuando lo que debería de mostrar en el campo [Horas] debería de ser: 40:00
|
|
|
<font color=BLUE>Las oportunidades que tu pierdes, otro las aprovecha.[/COLOR]
|
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 24/Octubre/2024 a las 13:14 |
|
Pues no utilices la función SerieHora y concatena los datos directamente como si fuera un texto. De paso utiliza format para mostrar los minutos con 2 dígitos (opcionalmente también las horas):
=Fix([txtHoras]) & ":" & Format(([txtHoras]-Fix([txtHoras]))*60;"00")
|
|
![]() |
|
GOOO
Asiduo
Unido: 08/Mayo/2012 Localización: Guatemala Estado: Sin conexión Puntos: 358 |
Opciones de entrada
Gracias(0)
Cita Respuesta
Enviado: 24/Octubre/2024 a las 22:46 |
|
Hola, prueba con esto.
Public Function FormatoHorasAcumuladas(totalHoras As Double) As String Dim horas As Long Dim minutos As Long ' Calcular horas y minutos horas = Int(totalHoras) minutos = (totalHoras - horas) * 60 ' Formatear como [h]:mm en excel FormatoHorasAcumuladas = horas & ":" & Format(minutos, "00") End Function llamarias la funcion: tucampo = FormatoHorasAcumuladas(horas en formato entero y/o con decimales) La función te devuelve el resultado como texto (string), creo que tienes una idea o una base para ajustarlo a tus necesidades. saludos.
|
|
|
Viendo se aprende y practicando se mejora
|
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |