Access - Calcular diferencia de tiempos

   
Vista:

Calcular diferencia de tiempos

Publicado por Rafa (149 intervenciones) el 27/01/2013 20:26:03
Estimados amigos, tengo un problema que no se resolver:
Tengo una tabla con un campo llamado fecha_hora con formato fecha general, un campo cod_usuario (numerico) y un campo estado (texto). el campo estado me indica si ha entrado o salido,osea que para un mismo usuario puede haber varias fechas/horas de entrada/salida, mediante una consulta me gustaria que esas fechas/horas las pudiera incluir en otra tabla con los campos horaentrada y horasalida de este modo:

21/01/2013 07:59:52 USUARIO X, ENTRADA
21/01/2013 15:01:30 USUARIO X, SALIDA

DE ESTOS DOS REGISTROSHACER UNO ASÍ:
21/01/2013, USUARIO X, HORAENTRADA 07:59, HORASALIDA 15:01

Puede haber un problema añadido,y es que un usuario puede entrar y salir mas de una vez aldia.
saludos.
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

Calcular diferencia de tiempos

Publicado por Jefferson (381 intervenciones) el 29/01/2013 03:51:31
Hola Rafa

Usando la funcion DateDiff puedes resolver tu problema

un ejemplo para que te guies http://goo.gl/GPH33 y http://goo.gl/C41gy

Saludos
Desde Venezuela
Jefferson
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

Calcular diferencia de tiempos

Publicado por Juan Carlos (1 intervención) el 26/07/2015 02:03:33
Jefferson, me gustaría que me pueda colaborar, necesito crear lo mismo que tiene en el ejemplo pero no me deja por que el ejemplo funciona muy bien pero la información para hacerlo no me es suficiente me gustaría que fuese un poco más explicito para poder acceder a tu propuesta y hacerla en la base que estoy trabajando, le agradezco mucho su colaboración
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

Calcular diferencia de tiempos

Publicado por Norberto (432 intervenciones) el 31/01/2013 11:05:16
Hola.

Aquí veo dos problemas: que la entrada y salida estén en diferentes registros y que la fecha y la hora estén en el mismo campo.

Yo haría lo siguiente:

Crear una consulta llamada ENTRADAS con la siguiente SQL:

SELECT Cod_Usuario, Int(Fecha_Hora) AS Fecha, Fecha_Hora - Int(Fecha_Hora) as Hora WHERE Estado="ENTRADA";

Y otra llamada SALIDAS con:

SELECT Cod_Usuario, Int(Fecha_Hora) AS Fecha, Fecha_Hora - Int(Fecha_Hora) as Hora WHERE Estado="SALIDA";

Y una tercera relacionando las dos por Cod_Usuario y Fecha. La cosa se complica y mucho, si para un mismo usuario y fecha hay varias entradas y salidas. Ya me contarás.

Un saludo.
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

Calcular diferencia de tiempos

Publicado por Norberto (432 intervenciones) el 31/01/2013 11:24:29
Perdón.

En la sintaxis del SQL se me ha olvidado poner FROM Registro antes del WHERE

SELECT Cod_Usuario, Int(Fecha_Hora) AS Fecha, Fecha_Hora - Int(Fecha_Hora) AS Hora FROM Registro WHERE...

Además, si quieres que salgan los registros que tengan entrada pero no salida, en la tercera consulta debes establecer la dirección de entradas a salidas (Incluir TODOS los registros de 'Entradas' y sólo aquellos registros de 'SALIDAS'...)

Espero que re vaya bien.
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

Calcular diferencia de tiempos

Publicado por Rafa (149 intervenciones) el 01/02/2013 10:21:52
Gracias por tu apunte Norberto, lo que hice es crearme un nuevo campo uniendo el usuario y la fecha ([usuario]&izq([fecha_hora];10) y realice dos consultas uniendolas en una tercera relacionandolas por el nuevo campo creado.
para solucionar el tema de varias entradas y salidas lo que he hecho es diferenciar las entradas y salidas por tramos horarios, de tal forma que la entrada inicial y salida final estan en una consulta con lo que normalmente no hay dos salidas o dos entradas. lo mismo hice para el tramo del almuerzo.
Saludos
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

Calcular diferencia de tiempos

Publicado por Leo (1 intervención) el 04/02/2013 17:01:00
Estimados amigos. No sé si es procedente el ingresar mi pregunta aquí o sería mejor empezar otro hilo. Lo que sí que es cierto es que tiene que ver con el cálculo de las diferencias de tiempos en Access y por ello creo que es interesante para continuar con este tema.

El asunto es el siguiente: tengo una tabla en la que se guardan los accesos al edificio de los usuarios. Es una tabla sencilla, con un campo que identifica la tarjeta del usuario, un campo fecha y un campo hora. El problema es que hay usuarios que salen y entran varias veces en un corto periodo de tiempo. Lo que quisiera es poder hacer una consulta en la que ELIMINARA esas repeticiones. Por ejemplo, si un usuario entra al edificio, sale y vuelve a entrar en un periodo menor a 10 minutos, querría que en mi consulta sólo aparezca un solo acceso al edificio y no dos. ¿Que parámetros, filtros o condiciones debo incluir en la consulta para que me aparezcan los accesos sin repeticiones inferiores a este periodo de 10 min.?

Me está dando un gran dolor de cabeza esta consulta pues no quiero simplemente eliminar duplicados, ya que eliminaría entradas y salidas válidas del edificio. Lo que necesito es eliminar duplicados cuando la diferencia de tiempo entre dos registros del mismo usuario sea inferior a 10 minutos.

Está claro que el tema tiene que ver con la diferencia de tiempo que están hablando en este hilo, pero desde un punto de vista distinto, ya que sería en una consulta y no en un formulario.
Si me pueden ayudar se lo agradezco. Muchas gracias a todos.
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

Calcular diferencia de tiempos

Publicado por Norberto (432 intervenciones) el 05/02/2013 16:16:35
Hola.

Me parece muy bien tu opción. No obstante te recomendaría que cuando quieras eliminar la hora de un campo Fecha+Hora uses Entero(Fecha_Hora). Ten en cuenta que Izq(Fecha_Hora; 10) depente mucho de cómo se visualiza, es decir del formato. Lo que para una fecha 10/12/2012 10:27 sería Izq(...; 10) para otra 3/2/2013 8:27 debería de ser Izq(...; 8). Con Ent() no te la juegas.

Un saludo.
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

Calcular diferencia de tiempos

Publicado por Joel (1 intervención) el 05/12/2014 20:12:46
Hola.

Pues estoy en una situación parecida. Solo que en mi caso, quiero sacar el tiempo que se lleva una obra.

Tengo una tabla que recibe fecha de visita, proyecto 1, translado 1, tiempo obra 1... tiempo obra 3

Pero necesito crear un formulario para consultar cuanto tiempo se llevo la obra "alfa".

Saludos.
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