Filtrado de registros mediante formulario

Hola buenas,
me encuentro con un asunto que no alcanzo a resolver. Agradecería tu ayuda, imagino que para ti será una tontería.
Tengo una tabla "Agenda de contactos", con los campos típicos, email, tlf, nombre,.. Aparte hay tres columnas ListID1, ListID2 y ListID3 con tipo de datos Sí/No donde marco mediante casillas de verificación para indicar en que listas de correo (ListID1, ListID2 y ListID3) está suscrito ese contacto. Un mismo contacto puede estar suscrito a una o varias listas de correo.
He creado una consulta basada en esta tabla, a la qu ehe llamado "Listas correo". También he creado un formulario (Filtro listas correo) que filtra los registros a mostrar en la consulta mediante 3 casillas de verificación (mark1, mark2 y mark3)
Dicho esto, lo que pretendo es generar una lista de correo "on-demand" mediante la consulta seleccionando una o varias listas de correo en el formulario.
He creado un boton con una macro en dos pasos:
-AbrirConsulta
-AplicarFiltro, con la siguiente condición WHERE
SiInm([Formularios]![Filtro listas correo]![mark1]=-1,[Listas correo]![ListID1]=-1) O SiInm([Formularios]![Filtro listas correo]![mark2]=-1,[Listas correo]![ListID2]=-1) O SiInm([Formularios]![Filtro listas correo]![mark3]=-1,[Listas correo]![ListID3]=-1)
Me dice que la expresión es muy compleja para ser evaluada. Hay otra forma de hacerlo y que además me permita utilicar más listas?
Gracias de antemano.

Añade tu respuesta

Haz clic para o