Filtrar en formulario por dos condiciones

En este formulario

tengo esta instrucción la cual me filtra por  nombre que es IdArreenda  

Me.RecordSource = "select * from ConsultaFacturasGenerales where year([IdArrenda])=year(forms!FacturasGenerales!IdArrenda)"

una vez que esta filtrado como en la imagen

Al clic en la fecha de entrada me filtrara por el mes de la fecha pero conservando el nombre es decir me mostrara todos los de 2021 de Prueva

Ahora me encuentro que si filtro por nombre y luego quiero filtra por fecha me filtra esto

Lo mismo que si filtro primero por fecha y luego por nombre.

Una

3 respuestas

Respuesta
1

Unai, honestamente, me he perdido. Para que te filtre primero por fecha y luego por el nombre que aparece en el cuadro de texto Nombre se usa

me.recordsource="Select * from ConsultaFacturasGenerales where year([fechaentrada])=year([forms!facturasgenerales!fechaentrada]) and idarrenda=" & me.idarrenda & ""

Por el contrario, para que primero te filtre por nombre y luego por mes, es a la inversa

....where idarrenda=" & me.idarrenda & " and year([fechaentrada])=year(......)"

Creo que no me explique bien.

La fecha entrada filtra por el Año de dicha fecha y el nombre filtra por el Nombre

Año 2020, 2021, 2022

 Nombre Pedro, Pablo, Antonia

Año 2020 tiene registro de Pablo y Pedro y Antonia

Filtro por 2020 y aparecen todos los registro si los hay tanto de Pedro, Pablo y Antonia.

una vez así quiero filtrar por Pedro y filtra por Pedro pero de todos los años te haya registro de Pero tanto si hay del 2020, 2021 y solo quiero que filtre 2020 Pedro.

Espero haberme explicado.

Te lo agradezco.

Unai lo siento, pero esta página ya no avisa de cuando se hacen "repreguntas", por tanto no leí la petición de ampliación.

Al no saber exactamente como es la base podrías probar con, por ejemplo,

Me.RecordSource = "select * from pedidos where year([fechapedido])=[Escriba un año] and cliente like [Escriba un nombre de cliente]"

Así, cuando pulses el botón te pedirá un año, lo escribes, aceptas, te pedirá que escribas un nombre de cliente, lo escribes, aceptas e voilá..

Respuesta
1

Si a un conjunto de datos (imagen uno, 5 registros) se aplica una condición para obtener un subconjunto de datos (imagen dos, 4 registros) el resultado puede ser el esperado.

La tercera imagen es desconcertante, pues para obtener ese resultado, seria indispensable eliminar/modificar la condición original del formulario (y en este caso la primera condición no sirve como referencia de nada, pues se crea un nuevo subconjunto de datos).

Si al mismo conjunto de datos se le aplican dos condiciones consecutivas, los resultados pueden ser diferentes a los que se obtendrían si se filtra una única vez aunando las dos condiciones (y en este caso, el orden de las condiciones no afecta al resultado).

Respuesta

Unai lo invito a ver algo más completo en este video

Búsquedas y Filtros avanzados en Access - YouTube

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas