Problema con llenar cuadro de lista

He ido creando un código con varios ejemplos que encontré, para llenar un cuadro de lista, el problema que tengo es que no me filtra la cantidad correcta de registros y lo se porque hice un consulta para verificar que los datos fueran los correctos:

Código para llenar cuadro de lista(muestra 141 registros):

Me.Lts_programaciones.RowSource = "SELECT Identificacion,Nombre_Completo,Dia,Hora_descripcion FROM tblNotas" _
& " WHERE Dia BETWEEN #" & Me.txt_Fecha_Ini & "# AND #" & Me.txt_Fecha_Fin & "# AND PROCEDENCIA='nivel1' OR PROCEDENCIA='nivel2'"

Me.Lts_programaciones.Requery
txt_contador_programacion = Lts_programaciones.ListCount

Código de la consulta para verificar los datos(muestra 6 registros, es la cantidad correcta):

SELECT tblNotas.Dia, tblNotas.PROCEDENCIA
FROM tblNotas
WHERE (((tblNotas.Dia) Between [Formularios]![frmArchivo]![txt_Fecha_Ini] And [Formularios]![frmArchivo]![txt_Fecha_Fin]) AND ((tblNotas.PROCEDENCIA)="HOSPITALIZACION" Or (tblNotas.PROCEDENCIA)="EMERGENCIAS"));

Creí que era un tema de paréntesis "()", pero los coloque muy similar a los del ejemplo anterior y no funciono.

Agradezco si me pueden ayudar con este error en el código .

1 Respuesta

Respuesta
1

La primera SQL (la del código) te devuelve los registros entre las dos fechas y "nivel 1" más los de "nivel 2", independientemente de la fecha.

La SQL de la consulta te devuelve los registros entre las dos fechas, y que sean de "nivel1" o "nivel2".

Y eso, no es lo mismo. Como bien dices, es cosa de los paréntesis.

Puedes poner el código para llenar tu cuadro de lista como:

Me.Lts_programaciones.RowSource = "SELECT Identificacion,Nombre_Completo,Dia,Hora_descripcion FROM tblNotas" _
& " WHERE Dia BETWEEN #" & Me.txt_Fecha_Ini & "# AND #" & Me.txt_Fecha_Fin & "# AND (PROCEDENCIA='nivel1' OR PROCEDENCIA='nivel2')"

También te serviría:

Me.Lts_programaciones.RowSource = "SELECT Identificacion,Nombre_Completo,Dia,Hora_descripcion FROM tblNotas" _
& " WHERE Dia BETWEEN #" & Me.txt_Fecha_Ini & "# AND #" & Me.txt_Fecha_Fin & "# AND PROCEDENCIA IN ('nivel1','nivel2')"

¡Gracias! Por tu pronta respuesta, me funciono lo que me indicó.

Además le debí dar formato a las fechas porque ya no quería filtrar correctamente.

Me.Lts_programaciones.RowSource = "SELECT PROCEDENCIA,Nombre_Completo,Dia,Hora_descripcion FROM tblNotas" _
& " WHERE Dia BETWEEN # " & Format(Me.txt_Fecha_Ini, "mm-dd-yyyy") & "# AND #" & Format(Me.txt_Fecha_Fin, "mm-dd-yyyy") & "# AND (PROCEDENCIA=nivel1' OR PROCEDENCIA='nivel2')"

Nuevamente quedo muy agradecido por tu ayuda!!

consulta adicional, con ese mismo código le puede indicar al botón que adicional, me lo exporte a un excel?

Estoy buscando información pero no encuentro nada.

Directamente creo que no, tendrías que crear una consulta con esa misma sql y luego exportarla

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas