Casillas de verifacion para filtrar varios campos

En una base de datos en Access 2003 tengo hecho un formulario con varias casillas de verificación. Dependiendo de estas casillas, quiero que me filtre el resultado de un subformulario con varios campos, que a su vez son también casillas de verificación. Cada casilla de verificación debe estar asociada a cada uno de los campos del subformulario.
Cada registro del subformulario son contactos de personas, con su nombre, empresa a la que pertenece, y 17 casillas de verificación que indican si necesita un producto o no. Lo que quiero que haga es que, si marco el producto POR, en el subformulario deben aparecen todos los contactos que tienen marcado el producto X.
He vinculado los campos principales y secundarios del subformulario, pero consigo el efecto contrario: si marco la casilla del producto X en formulario principal, en el subformulario me aparecen todas las que tienen el producto X y todos los demás desmarcados. Necesito que salgan todos los del producto X, independientemente de que tengan el resto de casillas marcadas o no.
Disculpa si lo he liado mucho, pero no consigo hacer que funcione correctamente.

1 respuesta

Respuesta
1
Bueno viendo tu pregunta si es para filtrar datos por la casilla de verificación, en la consulta sql asociada a tu subformulario tienes que colocar que el valor del campo de la casillla de verificación es igual a -1 ( en vista diseño de la consulta donde dice criterios colocar -1 o bien en la consulta normal de sql en WHERE colocas campo = -1.) Es así como access filtra los datos de casilla de verificación, donde -1 es marcado o 0 es que no esta marcada. Espero que haya sido útil mi respuesta y prueba y me dices que te parece la solución
Gracias por la respuesta.
Esto que indicas lo conozco y lo uso para filtrar otras consultas de la base de datos.En esta en concreto, sólo consigo que me saque los resultados siempre que el resto de casillas del subformulario no esté marcadas. Lo indico con más detalle...
El formulario principal tiene varias casillas de verificación: ProductoA, ProductoB, Producto, ProductoD, etc.
Dentro del formulario principal tengo un subformulario en vista hoja de datos que enlaza con la consulta que presenta los campos: NombreContacto, NombreCliente, ProductoA, ProductoB, Producto, ProductoD, etc... donde NombreContacto y NombreCliente son texto, y ProductoA, ProductoB, Producto, ProductoD, etc son casillas de verificación.
La idea es que al marcar la casilla ProductoA del formulario principal, el subformulario filtre todos los registros que a su vez tienen marcada la casilla ProductoA, y así sucesivamente.
En las propiedades del subformulario tengo:
Objeto origen: 'mi subformulario'
Vincular campos secundarios: ProductoA;ProductoB;ProductoC;ProductoD; etc
Vincular campos principales: ProductoA;ProductoB;ProductoC;ProductoD; etc
Así, si marco la casilla 'ProductoA' del formulario principal, lo que me filtra el subformulario son los registros que tienen marcado el 'ProductoA' siempre y cuando el resto de casillas del subformulario (ProductoB, Producto, ProductoD, etc) estén desmarcadas. Yo quiero que si marco el 'ProductoA' me saque el subformulario todos los registro que tienen marcado 'ProductoA' independientemente de que el resto de casillas estén marcadas o no.
Espero que sea de ayuda para aclarar lo que intento hacer. Gracias de antemano.
Ya ahora te entendí mejor, yap mira se supone que access en los soubformularios al hacer click en el botón derecho sobre algún registro con el ticket de productoA (cualquiera) te va a salir la opciones de filtrar y en "filtrar por" colocas el valor que te digo -1 y el subformulario te filtrara los datos con todos aquellos que tengan la casilla del productoA Marcado independiente de lo que tenga las otras
Prueba y me dices que tal
Vaya, esa sería una forma de hacerlo, gracias.
¿Conoces si hay alguna manera de hacerlo de forma automática como el ejemplo que te indicaba antes?
Resulta que tengo anuladas las funciones de filtros y demás para el resto de usuarios que comparten la base de datos en red, de ahí la intención de hacer la vista del formulario cuanto más sencilla mejor.
Saludos
Mmm forma automática es crear una consulta para cada casiila de verificación y luego en visual basic habría que hacer algún cuadro combinado que desplegara los datos por los cuales vas a filtrar, es decir, si opr ejemplo elijes producto a y apretás un botón te ejecuta la consulta de productoA.
Tendría que pensar un poco el código, pero por ahora para decirte rapido crea en visual un cuadro combinado y los valores para ese cuadro combinado representan cada consulta al presionar un valor del cuadro se ejecuta la consulta del producto x.
Disculpa si note doy el código en este momento pero es que también estoy haciendo una base acá y tendría que dedicar un poco de tiempo pero tratare de ayudarte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas