Delphi - Relacionar mas de 2 tablas.

 
Vista:

Relacionar mas de 2 tablas.

Publicado por Carlos Vásquez (6 intervenciones) el 04/05/2006 15:12:13
Saludos señores, mi problema se trata de que necesito relacionar 3 tablas y no se cómo hacerlo; una tabla de precios depende del producto y del cliente, por lo tanto necesito que al moverme en las tablas de productos y clientes también se ubique el registro del precio que les corresponde; uso Delphi 7 con Interbase, supuse que la cuestión iba por la parte de la propiedad Masterfields pero por ahí sólo se muestra la tabla con la que se relaciona en el Mastersource y ahí no pude indicar mas de una tabla. Agradezco de antemano su ayuda, gracias.

Carlos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Relacionar mas de 2 tablas.

Publicado por BigLuis (713 intervenciones) el 04/05/2006 19:35:54
Te voy a dar una idea y tu la desarrollas. En en componente que utilices para la obtencion de datos IBDataset, IBQuery etc, la propiedad DataSource la asocias al TDatasource de la tabla principal y en la propiedad SQL de las tablas o datasets secundarios escribes SELECT * FROM TABLA WHERE CAMPOID=:NOMBREDECAMPOIDPRINCIPAL;
Me explico NOMBREDECAMPOIDPRINCIPAL es el nombre verdadero del campo real del campo ID de la tabla principal (ClienteID) y CAMPOID es el campo de las tablas relacionadas a traves del cual se relacionan Prec_CliID y Prod_CliID por ejemplo y el texto SQL quedaria SELECT * FROM PRECIOS WHERE Prec_CliID=:ClienteID; Asi cada vez que cambies de clientes cambiara los presios y los productos automaticamente pues delphi lo primero que hace es buscar por su cuenta si el campo ClienteID existe en el datasource a sociada a la propiedad del mismo nombre.
¿Me has entendido?. Por desgracia para profe no tengo arreglo.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar mas de 2 tablas.

Publicado por Carlos Vásquez (6 intervenciones) el 05/05/2006 15:36:29
Gracias por tu aporte, pero la cuestión no es que un cliente tenga productos asociados y precios asociados, no; se trata de que hay una tabla de clientes y una tabla de productos sin relación entre ellos; pero existe una tabla de precios de productos que va a depender del producto y del cliente, es decir: sería algo asi como que la tabla de Clientes y la de Productos son tablas "master" y la tabla de precios es una "detail"; o sea, me puedo mover de manera independiente en la tabla de Clientes y también me puedo mover independiente en la tabla de Productos, pero dependiendo de los registros donde esté ubicado en esas tablas independientes es que yo debo ubicarme en la tabla de Precios.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Relacionar mas de 2 tablas.

Publicado por BigLuis (713 intervenciones) el 05/05/2006 19:50:28
Mas o menos lo que entiendo es que tienes una tabla Clientes y una Productos, la cual dependiendo del cliente tiene unos precios u otros ¿correcto?. Si es asi establece una relacion entre la tabla Productos y Precios y esta ultima con dos campos relacionados, una para los clientes y otra para los productos.Asi la situacion, la consulta para los datos de precios seria mas o menos SELECT * FROM PRECIOS WHERE REFCLIENTE=:IDCLIENTE AND REFPRODUCTOS=:IDPRODUCTO;
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar