Cuadros combinados en cascada
Estimado numerobix, acudo en tu ayuda porque soy muy nueva en la creación de bases de datos y llevo mucho tiempo dando vueltas a este tema, tengo mi base parada desde hace semana. Espero me puedas ayudar a resolver este tema.
He creado una base de datos en Access 2007. Entre otras tengo las siguientes tablas:
CLIENTES: Id. Cliente, Compañía, Dirección,...
RFQ: IdRFQ, Id.Cliente (cuadro combinado --> SELECT CLIENTES.Id_Cliente, CLIENTES.Compañia FROM CLIENTES ORDER BY CLIENTES.Compañia;) Descripción, Año
OFERTAS: IdOferta, IdRFQ (cuadro combinado --> SELECT RFQ.IdRFQ, RFQ.Descripcion, RFQ.Año FROM RFQ ORDER BY RFQ.IdRFQ, RFQ.Año;
Ahora estoy diseñando un formulario, OFERTAS, que permita introducir datos en esas tablas, además de otras. Mi intención es crear dos cuadros combinados en cascada, pero no doy con ello y he probado de todo.
Tengo un campo Oferta (Origen de control: IdOferta).
El primer cuadro se llama Combo_RFQ, en el origen de la fila --> SELECT RFQ.IdRFQ, RFQ.Descripcion, RFQ.Año FROM RFQ ORDER BY RFQ.IdRFQ, RFQ.Año; y en origen de control IdRFQ., Este cuadro me permitirá elegir la RFQ que esté relacionada con la Oferta.
El segundo cuadro, Combo_Cliente, me debe mostrar el cliente que esté relacionado con esa RFQ y no toda la lista de clientes que tengo grabados. Origen de la fila: SELECT CLIENTES.Id_Cliente, CLIENTES.Compañia, RFQ.IdRFQ FROM CLIENTES INNER JOIN RFQ ON CLIENTES.Id_Cliente = RFQ.Id_Cliente WHERE (((RFQ.IdRFQ)=[Formularios]![OFERTAS]![Combo_RFQ])) ORDER BY CLIENTES.Compañia; y en origen de control Id_Cliente.
En el primer cuadro tengo creado un código Me. Combo_Cliente.Requery
El segundo cuadro funciona bien, pues sólo me muestra el cliente que está relacionado con esa RFQ pero cuando voy a seleccionarlo me dice "No se puede modificar el control. Depende de un campo autonumérico Id_Cliente"
Además, si intento salir del formulario y pasar al formulario en vista diseño para ver qué ocurre me da el siguiente error: "Los cambios solicitados en la tabla no se realizaron correctamente porque crearían valores duplicado en el índice, clave principal o relación" Lo cual no entiendo, pues yo no estoy creando una RFQ nueva, sino eligiendo de entre las que tengo.
¿Por favor, me puedes echar una mano? LLevo mucho tiempo con esto y no llego a ninguna solución. Gracias por adelantado.
He creado una base de datos en Access 2007. Entre otras tengo las siguientes tablas:
CLIENTES: Id. Cliente, Compañía, Dirección,...
RFQ: IdRFQ, Id.Cliente (cuadro combinado --> SELECT CLIENTES.Id_Cliente, CLIENTES.Compañia FROM CLIENTES ORDER BY CLIENTES.Compañia;) Descripción, Año
OFERTAS: IdOferta, IdRFQ (cuadro combinado --> SELECT RFQ.IdRFQ, RFQ.Descripcion, RFQ.Año FROM RFQ ORDER BY RFQ.IdRFQ, RFQ.Año;
Ahora estoy diseñando un formulario, OFERTAS, que permita introducir datos en esas tablas, además de otras. Mi intención es crear dos cuadros combinados en cascada, pero no doy con ello y he probado de todo.
Tengo un campo Oferta (Origen de control: IdOferta).
El primer cuadro se llama Combo_RFQ, en el origen de la fila --> SELECT RFQ.IdRFQ, RFQ.Descripcion, RFQ.Año FROM RFQ ORDER BY RFQ.IdRFQ, RFQ.Año; y en origen de control IdRFQ., Este cuadro me permitirá elegir la RFQ que esté relacionada con la Oferta.
El segundo cuadro, Combo_Cliente, me debe mostrar el cliente que esté relacionado con esa RFQ y no toda la lista de clientes que tengo grabados. Origen de la fila: SELECT CLIENTES.Id_Cliente, CLIENTES.Compañia, RFQ.IdRFQ FROM CLIENTES INNER JOIN RFQ ON CLIENTES.Id_Cliente = RFQ.Id_Cliente WHERE (((RFQ.IdRFQ)=[Formularios]![OFERTAS]![Combo_RFQ])) ORDER BY CLIENTES.Compañia; y en origen de control Id_Cliente.
En el primer cuadro tengo creado un código Me. Combo_Cliente.Requery
El segundo cuadro funciona bien, pues sólo me muestra el cliente que está relacionado con esa RFQ pero cuando voy a seleccionarlo me dice "No se puede modificar el control. Depende de un campo autonumérico Id_Cliente"
Además, si intento salir del formulario y pasar al formulario en vista diseño para ver qué ocurre me da el siguiente error: "Los cambios solicitados en la tabla no se realizaron correctamente porque crearían valores duplicado en el índice, clave principal o relación" Lo cual no entiendo, pues yo no estoy creando una RFQ nueva, sino eligiendo de entre las que tengo.
¿Por favor, me puedes echar una mano? LLevo mucho tiempo con esto y no llego a ninguna solución. Gracias por adelantado.
1 respuesta
Respuesta de numerobix PlanetaInformatico.es
1