¿Cómo enlazar combos en Acess?

Estoy tratando de aprender a enlazar tres combos dependientes entre si. Me he creado tres tablas: marcas, modelos y datos. Marcas tiene dos campos, Id_Marca y Nombre; Modelos tiene Id_Modelo, Id_marca y Modelo; Datos contiene modelo, marca, cilindrada y potencia. Marca tiene como clave Id_Marca, Modelo Id_Modelo y Datos no tiene clave.
He creado un formulario con los tres campos, de manera que:
1. Selecciono un valor de la tabla de marcas
2. Con ese valor seleccionado, voy a seleccionar un valor de modelos
Hasta aquí funciona correctamente, pero cuando voy al tercer paso, que es seleccionar datos de ese modelo, ni siquiera me aparece la lista, con lo que no puedo seleccionar ningún valor.
¿Podríais darme pistas para que pueda resolver este problema? Mi intención es utilizar solamente las capacidades de ACCESS, ya que no programo en VB. He de poder apañarme con SQL.
Si necesitáis más datos o incluso el ejemplo montado, os lo puedo mandar.
Muchas gracias
Joan
Respuesta
1
Joanav. Así a primera vista, la solución a tu problema la das tu en el enunciado de la pregunta:
"Marca tiene como clave Id_Marca, Modelo Id_Modelo y Datos no tiene clave."
Las tablas deben estar correctamente relacionadas. Es decir la tabla "Datos" debería tener un campo "IdModelo", aunque los nombres los pongo siguiendo tu esquema, que no es el correcto.
Me explico:
La tabla Marca, tiene el campo "Id_Marca".
La tabla Modelo, debe tener el campo "Id_Modelo" y un campo que le relacione con la tabla Marca pero que no se llame "Id_Marca", sino, por ejemplo "Id_MarcaModelo".
La tabla Datos, debe contener el campo "Id_Datos" (es prudente) y un campo que le relacione con la tabla Modelo, pero que no se llame "Id_modelo", sino, por ejemplo "Id_modelodatos"
¿Por qué?. Intenta trabajar en el código de VBA o en SQL con campos que se llaman igual en distintas tablas, y verás que los resultados pueden resultar dispares. Por no decir, cuando transcurrido un tiempo, tienes que realizar modificaciones al código o a la sentencia SQL, y ya no te acuerdas de sí el campo "Id_modelo" es de la tabla Marca o de la tabla Modelo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas