Access - Sentencia para Fecha y Hora en campos diferentes

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

Sentencia para Fecha y Hora en campos diferentes

Publicado por Pablo Andres (8 intervenciones) el 04/05/2023 00:04:57
Saludos Comunidad de Programadores,

En esta ocasión vengo con una consulta que a lo mejor sea fácil pero a mi no me esta funcionando. Tengo dos campos por separado, una Fecha y Hora; y tambien tengo Usuario. Lo que deseo hacer es un reporte usando sentencias que me traiga la información del Usuario que trabaja en el turno por la noche. El turno de la noche es desde las 18:00pm hasta las 06.00am del siguiente día. Use la siguiente sentencia:

SELECT * FROM Tabla WHERE CampoFecha = #04/10/2023# AND CampoHora >= #18:00:00# AND Usuario = 'TURNO 3' ORDER BY FECHA, Hora

Con esta sentencia me trae la información del día consultado hasta las 00:00, pero si pongo:

SELECT * FROM Tabla WHERE (CampoFecha BETWEEN #04/10/2023# AND #04/11/2023# ) AND (CampoHora >= #17:00:00# AND CampoHora <= #18:00:00#) AND Usuario = 'TURNO 3' ORDER BY FECHA, Hora

Me trae la información del día 10 dese las 00:00am en adelante y yo quiero que me traiga la información del día 10 pero desde las 18:00pm en adelante hasta el día 11, hasta la hora 06:00am, pero esta última sentencia no me saca así.

Por favor espero que me puedan ayudar a resolver esto que voy horas queriendo resolver, he intentado algunas otras sentencias (Cambiando el Orden de las sentencias) que igual no funcionan.

Desde ya gracias por su ayuda, que tengan un buen día....
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
Imágen de perfil de Joan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Sentencia para Fecha y Hora en campos diferentes

Publicado por Joan (90 intervenciones) el 10/06/2023 10:56:25
Prueba con esto:

SELECT * FROM Tabla
WHERE
(CampoFecha = #04/10/2023# AND CampoHora >= #18:00:00#)
OR
(CampoFecha = #04/11/2023# AND CampoHora <= #06:00:00#)
AND Usuario = 'TURNO 3'
ORDER BY CampoFecha, CampoHora

También con VBA podrías hacerlo con condicionales y jugar un poco más si tienes varias condiciones más en el horario.
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
sin imagen de perfil
Val: 8
Ha disminuido su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Sentencia para Fecha y Hora en campos diferentes

Publicado por Pablo Andres (8 intervenciones) el 13/06/2023 15:00:37
Gracias Joan, voy a probar esta sentencia y te comentare.....
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

Sentencia para Fecha y Hora en campos diferentes

Publicado por Anonimo (3316 intervenciones) el 11/06/2023 19:51:58
Un día es una unidad de medida, una hora es una fraccion del dia (exactamente 1/24 parte).

Lo adecuado es utilizar 'entre' con ambas fechas completas (día + hora de inicio, día mas hora final) y es tan sencillo como sumarlas:
(Reutilizando los datos del ejemplo)

1
SELECT * FROM Tabla WHERE (CampoFecha BETWEEN (#04/10/2023# + #17:00:00#) AND (#04/11/2023# + #18:00:00# )) AND Usuario = 'TURNO 3' ORDER BY FECHA, Hora

Nota: CampoFecha TAMBIEN debe de ser la suma de el día y su fracción horaria esto es CampoFecha = [Fecha] + [hora]
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
sin imagen de perfil
Val: 8
Ha disminuido su posición en 9 puestos en Access (en relación al último mes)
Gráfica de Access

Sentencia para Fecha y Hora en campos diferentes

Publicado por Pablo Andres (8 intervenciones) el 13/06/2023 15:01:16
Gracias Anónimo, también lo probaré, cualquier novedad les comento....
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