Tengo que probar el código de Ángeles...
Yo por mi parte trabajo con macros y lo de filtrar a través de combos es algo que hago con habitualidad, lo que, hablando de ACCESS en general, me reporta de las mayores satisfacciones....
Cuento mi experiencia por si alguien no la conoce y quiere experimentar -lo que le recomiendo vivamente-.
Lo primero que hago es construir una consulta
adhoc para un formulario -que llamo coloquialmente
'formulario/filtro'- y que me filtra datos a través de la consulta, ya digo, para presentármelos en un formulario de viasualización/lectura de datos o para modificarlos, o bien en un informe.
Empezando por la consulta. He archicomprobado que el
motorcito Jet de ACCESS no puede con una consulta parametrizada -del modo que diré a continuación- en más de
nueve campos.
Cada campo a parametrizar, y que luego ligo a cada uno de los 9 combos del formulario/filtro del que he hablado antes, del modo que más adelante diré, lo parametrizo, valga la redundancia, del siguiente modo:
Para el campo 1:
[Forms]![Formul_Filtro_Para_Informe_De_Datos]![Campo1] or [Forms]![Formul_Filtro_Para_Informe_De_Datos]![Campo1] es null.
Para el campo 2: [Forms]![Formul_Filtro_Para_Informe_De_Datos]![Campo2] or [Forms]![Formul_Filtro_Para_Informe_De_Datos]![Campo2] es null... y así sucesivamente...
Al añadir el 'null' me garantizo que puedo filtrar por 1
Y/O 2
Y/O 3... y así hasta 9 campos...
Después diseño el
Formulario/Filtro ya digo que con hasta 9 filtros, normalmente combos, aunque también en alguna ocasión he filtrado por una casilla de verificación con 'triple estado' y en otras por un... '
entrefechas'. A cada uno de ellos le asigno una SELECT construida a partir de la consulta primera, lo que hago... y esto puede ser lo más
difícil, concatenadamente, de tal forma que el combo 2 solo me ofrezca los ítems -agrupados, claro- posibles de acuerdo al ítem que haya podido seleccionar en el combo 1; en el combo 3 que
SOLO SE ME PRESENTEN LOS ÍTEMS POSIBLES DE ACUERDO A LO QUE EVENTUALMENTE HAYA PODIDO SELECCIONAR EN LOS COMBOS 1 Y 2... y así sucesivamente...
Después, y por último, me voy al formulario de lectura o modificación, según sea el caso, y en la macro que lo abre
'le casco' en la línea
Filtro, el NombreDeLaConsultaParametrizada de la que he hablado al principio... o si se trata de un informe, en su primera propiedad, la de
'Origen del registro' pongo el NombreDeLaConsultaParametrizada... -para los formularios pongo como Origen del registro la Tabla de Entrada de Datos, aunque supongo que si pongo la consulta también funcionaría...-
Me he extendido demasiado, pero si alguien ha llegado hasta aquí, y quiere experimentar, le animo a hacerlo, los resultados son asombrosos... al menos lo son para mí... un
diletante de todo esto que, para más inri, es de letras...
