Discussion:
Duda consulta
(demasiado antiguo para responder)
reyneli
2013-01-17 10:27:15 UTC
Permalink
¡ Hola

Tengo una tabla que recoje fichajes de esta forma

Fecha Hora trabajado
10/01/2012 8:29:22 Robert
10/01/2012 8:29:33 Jua

He conseguido obtener los fichajes en el turno de la mañana (6:0:0
14:0:0), de la tarde(14:0:0-22:0:0) y de la noche(22:00-6:0:0) para u
día de la siguiente manera
SELECT count(*) FROM fichadas WHERE Fecha ="10/01/2013" an
Hora>="6:0:0" And Hora<="13:59:59"

Pero no consiguo hacer que me devuelva las fichadas de los tres turnos y meno
las fichadas de los tres turnos en un intervalo de fechas dado. Muchas gracias!
José Mª Fueyo
2013-01-17 11:53:23 UTC
Permalink
Hola
¿Que tipo de dato es el campo Hora? ¿y el de fecha?

Salu2
--
José Mª Fueyo
[MS MVP Access]
reyneli
2013-01-17 13:12:51 UTC
Permalink
José Mª Fueyo escribió el 17/01/2013 12:53
Post by José Mª Fueyo
Hol
¿Que tipo de dato es el campo Hora? ¿y el de fecha
Salu
José Mª Fuey
[MS MVP Access
Gracias por responder. Pues son Fecha/hora, pero si entiendes que es mejor co
otro tipo de dato. Tengo la posibilidad de cambiarlo.
José Mª Fueyo
2013-01-17 16:16:22 UTC
Permalink
Hola de nuevo
No, esta bien. Pero unifícalos en un solo campo. Por un lado tienes la fecha y por otro la hora.
Para extraer aquellos registros que sean mayores de una hora y menores que otra, usa la función Hora (Hour en el juego de funciones en inglés). Le pasas como parámetro la fecha/hora.
Un ejemplo. Tengo una tabla que entre otros campos, tiene uno de fecha denominado "FechaCreacion". Esta select extrae aquellos registros del día de la fecha, creados entre las 10 y las 13 horas

<pego>
SELECT FechaCreacion
FROM MiTabla
WHERE (((Hour([FechaCreacion]))>=10 And (Hour([FechaCreacion]))<13) AND
((Format([FechaCreacion],"dd/mm/aaaa"))=Format(Date(),"dd/mm/aaaa")));
</pego>

Salu2
--
José Mª Fueyo
[MS MVP Access]
reyneli
2013-01-19 01:19:29 UTC
Permalink
reyneli escribió el 17/01/2013 11:27
Post by reyneli
¡ Hola
Tengo una tabla que recoje fichajes de esta forma
Fecha Hora trabajado
10/01/2012 8:29:22 Robert
10/01/2012 8:29:33 Jua
He conseguido obtener los fichajes en el turno de la mañana (6:0:0
14:0:0), de la tarde(14:0:0-22:0:0) y de la noche(22:00-6:0:0) para u
día de la siguiente manera
SELECT count(*) FROM fichadas WHERE Fecha ="10/01/2013" an
Hora>="6:0:0" And Hora<="13:59:59"
Pero no consiguo hacer que me devuelva las fichadas de los tres turnos y meno
las fichadas de los tres turnos en un intervalo de fechas dado. Mucha
gracias
Lo he resuelto concatenando la fecha y hora. De esta manera puedo trabaja
mejo
con las consultas. Gracias

Loading...