[RESUELTO] Campo calculado con horas

Discute sobre las herramientas de la base de datos
Responder
RARG
Mensajes: 6
Registrado: Jue Abr 06, 2017 12:31 pm

[RESUELTO] Campo calculado con horas

Mensaje por RARG »

Buenos días a todo el mundo, estoy haciendo una base de datos para la que me están sirviendo mucho todos los consejos de este foro, pero ha llegado un punto en el que no soy capaz de encontrar la respuesta adecuada para mi problema y me estoy volviendo loco, por lo que si alguien me pudiera ayudar estaría muy agradecido.

La cuestión es que necesito crear un formulario en el que registrando la hora de inicio y la de final me calcule las horas que hay entre ellas, me explico:
Hora de inicio del trabajo (A)
Hora de fin del trabajo (B)
Horas trabajadas (B-A)

He estado experimentado como si fuera un campo calculado cualquiera a traves de una consulta, pero creo que hay algún tipo de problema con los formatos, también he visto otro mensaje que se aproximaba bastante a lo que busco:
https://forum.openoffice.org/es/forum/v ... =31&t=5947
pero con esta solución tengo el problema de que en uno de los equipos en los que se va a trabajar con esta base de datos no tengo opción de instalar ni de trabajar con MySql, por lo que esta opción la he desechado... y me encuentro completamente atascado.

Adjunto una tabla básica con lo que pretendo hacer
Adjuntos
restar_horas.rar
Base de datos restar_horas
(10.62 KiB) Descargado 102 veces
Última edición por mauricio el Vie Abr 07, 2017 4:14 pm, editado 2 veces en total.
Razón: Marcar icono de resuelto
Intentando aprender un poco...
Usando LibreOffice versión 7.0.2 con W10 como principal, pero necesitando compatibilidad con versiones anteriores de LibreOffice sin posibilidades de actualizar a voluntad.
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Campo calculado con horas

Mensaje por RMG »

Hola,

Aquí tienes las funciones para hacerlo.

http://wiki.open-office.es/Funciones_de ... ffice_Base

Para las horas.

DATEDIFF( 'HH', [HORA_INI], [HORA_FIN] )

Si quieres los minutos, debes hacer una concatenación de la función de horas con la de minutos.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RARG
Mensajes: 6
Registrado: Jue Abr 06, 2017 12:31 pm

Re: Campo calculado con horas

Mensaje por RARG »

Muchas gracias por la contestación, pero creo que he probado un montón de variaciones para enlazar los minutos a las horas y no he sido capaz, si logro que me dé las horas, pero los minutos imposible, hasta he probado para ver si me daba las horas con decimales refiriéndose a los minutos, que además me vendría de perlas, pero ni eso.
¿Me podrías especificar un poco como hacerlo?
De nuevo mil gracias por tu respuesta
Intentando aprender un poco...
Usando LibreOffice versión 7.0.2 con W10 como principal, pero necesitando compatibilidad con versiones anteriores de LibreOffice sin posibilidades de actualizar a voluntad.
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Campo calculado con horas

Mensaje por RMG »

Hola,

Horas
ROUND( DATEDIFF( 'MI', "HORA_INI", "HORA_FIN" ) / 60, 0 )

Resto minutos
MOD( DATEDIFF( 'MI', [HORA_INI], [HORA_FIN] ), 60 )

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
RARG
Mensajes: 6
Registrado: Jue Abr 06, 2017 12:31 pm

Re: Campo calculado con horas

Mensaje por RARG »

¡Logrado!

Mil gracias.

Después de leer tu último mensaje seguí experimentando con esa orientación, pero modificando el ROUND para que me diera 2 decimales, no había forma, así que segui investigando otro poco y por fin encontre la solución, de lo más tonto, pero quizás las más difíciles por que se pasan por alto, al final la fórmula queda así:

ROUND( DATEDIFF( 'MI', [HORA_INI], [HORA_FIN] ) / 60.00, 2 )

Los dos "0" después del 60 fueron la modificación que hice para que me mostrara el resultado con dos decimales.

Cuelgo el resultado, por si ha alguien le sirve y de nuevo gracias por la labor que haces enseñándonos a todos los que estamos empezando con openoffice.
Adjuntos
restar_horas.rar
Conseguido
(10.87 KiB) Descargado 129 veces
Intentando aprender un poco...
Usando LibreOffice versión 7.0.2 con W10 como principal, pero necesitando compatibilidad con versiones anteriores de LibreOffice sin posibilidades de actualizar a voluntad.
Responder