Cuadro combinado en base a consulta

Tengo un problemilla con un cuadro combinado basado en una consulta que no consigo solucionar. Espero me puedas ayudar. Te comento:
- Tengo la tabla "Equipos" con un campo llamado "IdEquipo".
- Tengo una tabla "ProgramaMantenimiento" con los campos "IdOperacion", "IdEquipo" y "NumOperacion". Esta tabla tiene una relación uno-varios con la anterior a través del "IdEquipo".
- Tengo una 3ª tabla, "SeguimientoProgramaMantenimiento" con los campos "IdMantenimiento", "IdEquipo" e "IdOperacion". Esta tabla está vinculada con las otras tablas con relaciones una-varios a través de elos "IdEquipo" e "IdOperacion".
He hecho un formulario principal llamado "formEquipos" basado obviamente en la tabla equipos. He insertado dentro del formulario un control ficha, donde he puesto dos subformularios basados en las tablas anteriores, "formProgramaMantenimiento" y "formSeguimientoProgramaMantenimiento".
Dentro del 2º subformulario, el "formSeguimientoProgramaMantenimiento" quiero que las "IdOperacion" se me limiten a las que he creado para cada equipo a través del "IdEquipo". Para ello, he creado un cuadro combinado basado en una consulta, la "Consulta1". Esta consulta recoge los siguientes campos:
- IdEquipo, de la tabla Equipos
- IdOperación y NumOperacion, de la tabla ProgramaMantenimiento
En la consulta, para el campo IdEquipo le he puesto como criterio: [Formularios]![FormsEquipo]![IdEquipo]. La consulta funciona correctamente, porque cuando la ejecuto y le indico el Id de un equipo, sólo me enseña los IdOperacion y NumOperacion que existen para ese equipo.
El problema esta en el cuadro combinado. El cuadro combinado recoge los 3 campos de la consulta y cada vez que pincho sobre él, independientemente en el registro que me encuentre, sólo me muestra los IdOperacion y NumOperacion del equipo con IdEquipo=1.

1 respuesta

Respuesta
1
Trata sustituyendo el criterio: [Formularios]![FormsEquipo]![IdEquipo] Por una variable temporal y asígnale el valor en el formulario así:
En la consulta, para el campo IdEquipo digita como criterio: [tempvars]![vId]
Después en el form ya sea en un botón o en un evento del combobox o texbox asígnale valor a la variable temporal así:
[tempvars]![vId] = me.textbox.value   o 
[tempvars]![vId] = me.combobox.value

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas