Access - SQL anidada en formulario

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

SQL anidada en formulario

Publicado por Luis (15 intervenciones) el 03/03/2019 08:07:17
Hola a Todos, espero me puedan ayudar, tengo un formulario de asistencia en el cual tengo un listbox, en la columna 3 de este listbox contiene horas en el siguente formato "hh:mm:ss AM"

deseo hacer una consulta que me arroje en un cuadro de texto cuantos usuarios entraron de "08:55:00 AM a 11:30:00 AM"

algo asi:

SELECT Count(*) AS Lunch
FROM Registro
WHERE (((Registro.Fecha) Between [inicial] And [final]) AND ((Registro.Hora) Between [Hinicial] And [Hfinal]));


pero no logro hacerlo funcionar en un formulario en VBA
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

SQL anidada en formulario

Publicado por Anonimo (3317 intervenciones) el 03/03/2019 17:54:23
Si solo se dispone de las/las horas, la fecha no tiene razón existir (y por defecto sera un cero).

Ojo con los formatos de las fechas, normalmente se interpreta como valores de tipo fecha a simples valores de texto
07:45:25 <== Texto
# 07:45:25 # <== una fecha de Access
CDate ("07:45:25") <== una fecha para Access
Cdbl(CDate ("07:45:25")) <== un numero decimal, en el que la parte decimal es la hora (representa una fecha y asi lo guarda Access)


Si con Between no se obtiene lo que se necesita (Access tiene sus reglas) se puede utilizar la comparación aritmética (el mayor que >, menor que < ) para construir el intervalo.
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: 28
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

SQL anidada en formulario

Publicado por Luis (15 intervenciones) el 03/03/2019 23:18:21
gracias por la info, pero como logro que cuente la cantidad de registros dentro de objeto Lista, o una query? que en columna 3 sea mayor a 9 am y menor a 11:30 am?

genere este codigo :

1
2
3
4
Dim TurnoA As String
TurnoA = "SELECT Count(*) FROM Fechas WHERE (((Fecha.Hora) BETWEEN #" _
                & 8:55:00 AM & "# AND #" & 11:30:00 AM & "#"
Me.Text44.Value = Al

donde quiero obtener el conteo de un rango de horas de una query en la cual hay un rango de fechas, pero no logro meterlo en un cuadro de texto o hacerlo funcionar
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: 28
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

SQL anidada en formulario

Publicado por Luis (15 intervenciones) el 05/03/2019 15:04:53
Gracias por el apoyo lo resolvi haciendo una querty donde selecciono el rango que busco de la siguiente forma:

SELECT Registro.Usuario, Registro.Fecha, Registro.Hora, Usuarios.nombre
FROM Usuarios INNER JOIN Registro ON Usuarios.clave = Registro.Usuario
WHERE (((Registro.Fecha) Between [Forms]![Fechas]![Inicial] And [Forms]![Fechas]![Final]) AND ((Registro.Hora) Between #dd/mm/yyyy 9:0:0# And #dd/mm/yyyy 11:30:0#));


Me.TxtTurnoA = DCount("*", "Entradas")

Espero a alguien le sirva este aporte, 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