Mostrar ID por cuadro de lista

Os lanzo la siguiente consulta. Tengo una base de datos que estoy intentando automatizar. En la base tengo dos tablas: Sedes y Contactos y un formulario para mostrar los datos de mis oficinas.

En dicho formulario, llamada FormFicha, tengo un control de pestañas. Una pestaña es para mostrar los datos de la oficina y la segunda pestaña para mostrar los contactos almacenados en la tabla Contactos (En esta ultima tabla tengo un IdContacto relacionado con la primera tabla).

En la segunda pestaña, donde se ven los contactos, tengo puesto un cuadro de lista que cuando se visualiza se ve como una tabla personalizada (El subformulario no me convence). En dicho cuadro de lista, en "Origen de la fila" tengo indicada la tabla Contactos con los datos que debe mostrar.

El problema es que no consigo filtrar por el Id correspondiente a la oficina. Es decir, tengo el IdOficina 01 y cinco contactos asociados a ese id. Pues no consigo filtrar en el cuadro de lista que me muestre esos cinco contactos de el IdOficina 01.

Este es el código que he implementado.

SELECT Contactos.IdOficina, Contactos.IdContacto, Contactos.Nombre, Contactos.Apellidos

FROM Contactos

WHERE IdOficina=IdActual

Pero no me filtra...

1 respuesta

Respuesta
1

Esa SQL ¿la tienes en el origen de la fila del cuadro de lista?

Si es así, prueba a poner:

WHERE IdOficina=[Formularios]![FormFicha]![IdActual]

Buenas Sveinbjorn

Si, tengo la SQL en la opción "Origen de la fila" del cuadro de lista (Se me olvidó mencionarlo). Cuando entro en los tres puntitos para crear la consulta, lo cambio a SQL y le aplico el código.

He probado lo que me has indicado pero no funciona. Al aplicarlo, no me muestra nada en el cuadro de lista. Al volver a la consulta, la sentencia ha cambiado:

WHERE (((Oficinas.IdOficina)=[Formularios]![FormFicha]![IdActual]));

¿Que es lo que puede estar pasando? Por más que reviso el codigo no veo el fallo.

Gracias por todo.

Supongo que el formulario se llama efectivamente FormFicha, si no tendrás que ponerle el nombre que tengas.

De todas formas, yo lo haría por código, en el evento "al activar registro" del formulario le generaría este código (te pongo en negrita lo que has de cambiar por los nombres que tu tengas):

Me.nombreCuadroLista.RowSource="SELECT Contactos.IdOficina, Contactos.IdContacto, Contactos.Nombre, Contactos.Apellidos FROM Contactos WHERE IdOficina=" & Me.IdActual

Me.NombreCuadroLista. Requery

La pregunta no admite más respuestas

Más respuestas relacionadas