Filtrar subformulario desde un formulario

He estado viendo las respuestas que has dado a preguntas parecidas, pero no doy con ello en mi base de datos. Resumo: tengo dos tablas, centros e inscripciones, basada en ellas, una consulta llamada inscritos, con los campos: centros. Idcentro, centros. Nombre, centros. Localidad, centros. Provincia, centros. Ccaa, inscripciones. Actividad, inscripciones. Fechainscripcion, inscripciones. Alumnos, inscripciones. Profesores, inscripciones. Ingresado, inscripciones. Fechaingreso e inscripciones. Cantidad. Creo un formulario llamado inscritos con todos esos campos, y lo meto como subformulario dentro de otro llamado filtrocentros. En filtrocentros necesito dos cuadros combinados, uno que filtre por inscripciones. Actividad (es un cuadro combinado con lista de valores) y otro que filtre por inscripciones. Ingresado (campo si/no). En cuanto a los datos en sí, puede haber centros inscritos o no inscritos, y de los inscritos algunos que hayan ingresado y otros que no, de ahí la necesidad de estos filtros.

1 respuesta

Respuesta
1
No sé lo que has intentado, pero lo primero es que el nombre del campo de la consulta al que tienes que hacer referencia es el mismo que verías en el encabezado de las columnas si ejecutaras la consulta y vieras la hoja de datos. Por ejemplo:
El campo que mencionas como centros. Casa se llama CASA, el de inscripciones. Alumnos se llama ALUMNOS, así en este ejemplo el nombre al que te debes referir en la secuencia que te escribo abajo debe ser ALUMNOS, CASA, etc.
En la vista diseño del formulario (y subformularios), pinchas dos veces (no es doble click), en la esquina superior izquierda del subformulario que quieres asociar a los controles del formulario, hasta que aparezca un pequeño recuadro negro en dicha esquina. En las propiedades del subformulario vas a la pestaña de DATOS y "Origen del Registro" escribes:
SELECT [INSCRITOS].[CASA],[INSCRITOS].[ALUMNOS], [INSCRITOS].[nombredelcampoN], etc.....( con todos los campos de la consulta que mencionaste arriba separados por una coma) y luego seguido (en el mismo lugar) lo siguiente:
FROM [INSCRITOS] WHERE [INSCRITOS].[ACTIVIDAD]= '" & Forms!Filtrocentros!Actividad & "' AND [INSCRITOS].[INGRESADOS] = TRUE (SI NO FUNCIONA CON TRUE, PRUEBAS CON VERDADERO ó SI)
Esto te debería funcionar.
Hola Tony63, muchas gracias por la respuesta. Lo he probado y no funciona. He escrito el código que me diste en las propiedades del subformulario, pero no hace nada. En cualquier caso, debería tratarse de dos filtros distintos, es decir: en el formulario 'filtrocentros' intento que haya dos cuadros combinados, uno para filtrar por el campo 'actividad' (es una lista de tres valores) y otro para filtrar por 'ingresado' (valores si y no). Un centro puede estar o no inscrito en una de esas tres actividades, y si lo está puede estar ingresado o no. Entiendo que debería poner algo también en las propiedades de los cuadros combinados... sé que es algo lioso, por eso agradezco mucho tu ayuda.
Gracias otra vez,
Jose
Disculpa la tardanza en contestar. Efectivamente el código que te escribí es para un valor en un campo del formulario (Actividad) y un campo (Ingresado) en la tabla Inscritos. Con este dato que me das ahora quedaría así:
SELECT [INSCRITOS].[CASA],[INSCRITOS].[ALUMNOS], [INSCRITOS].[nombredelcampoN], etc.....( con todos los campos de la consulta que mencionaste arriba separados por una coma) y luego seguido (en el mismo lugar) lo siguiente:
FROM [INSCRITOS] WHERE [INSCRITOS].[ACTIVIDAD]= '" & Forms!Filtrocentros!Actividad & "' AND [INSCRITOS].[INGRESADOS] = " & Forms!Filtrocentros!Ingresados
Recuerda que los campos después del SELECT tiene sintaxis [NOMBRETABLA].[nombrecampo]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas