Problemas con subformularios Access 2007

Estoy elaborando una base de datos Access en la cual se almacenan una serie de problemas en el sistema (que denominamos “No conformidades”), las acciones acometidas sobre ellas, y los seguimientos realizados. Todo ello en tres tablas diferentes (Tabla_NC, Tabla_AC y Tabla_Seg) relacionadas entre sí, a través del campo Id_NC.
Para mostrar los datos, tengo:
- Un Formulario principal denominado “For_NC” que contiene los datos de la “Tabla NC”, con origen de datos asociado a una consulta denominada “Consulta_NC”.
- Un subformulario denominado “For_AC” (ubicado dentro del formulario “For_NC”) que contiene los datos de la "Tabla_AC”, con origen de datos en una consulta denominada "Consulta_AC”.
- Otro subformulario (ubicado dentro del formulario “For_NC”) denominado “For_Seg_AC” que contiene los datos de la "Tabla_Seg", con origen de datos en una consulta denominada “Consulta_Seg”.
Para realizar búsquedas de los datos, he creado un formulario inicial, denominado “For_Consulta” donde se pueda hacer una búsqueda por el id de la no conformidad (Id_NC).
La búsqueda se ejecuta a través de un botón ubicado en el formulario “For_Consulta” que abre el formulario “For_NC” y filtra los datos de la "Tabla_NC" según el valor que se haya indicado anteriormente (en un Textbox llamado Id_NC), al estar el origen de los datos asociado a “Consulta NC”.
La “Consulta_NC” la he creado con el editor de Access incluyendo el criterio [Forms]![For_Consulta]![Id_NC] debajo del campo Id_NC de la Tabla_NC.
Las consultas de los subformularios también las he creado con el editor de Access incluyendo el [Forms]![For_NC]![NC] debajo del campo Id_NC de las tablas: Tabla_AC (en el caso del subformulario For_AC), y "Tabla_Seg" en el caso del subformulario “For_Seg”. Siendo NC el Textbox que me identifica la Id de la NC en el Formulario “For_NC”.
Mi problema es que cuando pulso el botón para ejecutar la consulta, el programa me pide dos veces que le indique el valor de [Forms]![For_NC]![NC]. Tras mucho investigar, descubrí que el problema está en los subformularios, ya que si los elimino la consulta funciona a la perfección. De hecho, no me preguntéis porqué, tras borrar los subformularios y volverlos a incluir, todo funcionó a la perfección. Sin embargo, de la noche a la mañana este problema ha vuelto a aparecer y ya no se soluciona eliminado y volviendo a pegar.
¿Alguien qué me pueda echar un cable?

1 respuesta

Respuesta
1

Aunque es difícil responder sin ver "en vivo" tu BD, puede que el error lo tengas en el criterio de la consulta de los subformularios.

Tú dices "filtra los datos de la "Tabla_NC" según el valor que se haya indicado anteriormente (en un Textbox llamado Id_NC)" y "Las consultas de los subformularios también las he creado con el editor de Access incluyendo el [Forms]![For_NC]![NC] "

Si las tres consultas las filtras por el valor del mismo textbox, el criterio en las consultas de los subformularios debería ser [Forms]![For_NC]![id_NC]

De todos modos, si el formulario está bien diseñado, y están bien relacionados los campos del formulario con los de los subformularios, te deberían salir ya los datos en los subformularios que coincidan con los del formulario, sin necesidad de filtrarlos previamente.

Si necesitas algo más, no dudes en preguntar.

Muchas gracias por tu respuesta!

Tienes razón en decir que es difícil responder sin tener la base de datos delante. A mi me costó bastante escribir el mensaje intentando explicar todos los detalles de esta base de datos. Así que te comprendo, además es una base de datos bastante compleja.

Respecto a lo que me comentas, el textbox [Forms]![For_Consulta]![Id_NC] y [Forms]![For_NC]![NC] tienen el mismo valor ya que es el criterio de filtrado, por lo que da igual lo que ponga como criterio de la consulta.

Anoche trasteando un poco más, vi que en una versión anterior tenía la opción del formulario "Tiene un módulo asociado" en No y en esta última versión la tenía en Sí. La cambié y ya funciona, sin embargo me quedo un poco con la mosca detrás de la oreja. ¿Crees que con este cambio realmente he solucionado el problema?

Muchas gracias!

La opción de Tiene un módulo asociado se refiere a si tiene un módulo con código vba programado, que no sé si es tu caso, Pero si ahora dices que te funciona, pues genial!

Si quieres que le eche un vistazo a tu BD, por tranquilidad tuya, mándamela con algún registro de prueba a [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas