Ver la Versión Completa : consultas entre varias tablas
Irina
27-05-2003, 19:07:05
Buenas, mi duda es la siguiente:
Tengo 3 tablas, Facturas(primary key N_fac), Presupuestos(pk n_pre, foreign key factura) y Detalles(pk n_pre, fk n_pre)
Quiero que al seleccionar una factura, se seleccionen todos los campos de presupuestos cuya fk sea igual a la factura elegida y a su vez me seleccione todos los campos de detalles cuyas claves coincidan con las claves selecionadas en presupuestos.
Espero haberme explicado bien, y que alguien me entienda.
Gracias por ayudarme.
Irina.
andres1569
27-05-2003, 19:25:10
Hola:
Irina escribió:
Quiero que al seleccionar una factura, se seleccionen todos los campos de presupuestos cuya fk sea igual a la factura elegida ...
Tal como lo planteas aquí no parece que se trate de hacer una consulta que enlace esas tablas sino de crear una relación Maestro-Detalle (por campos querrás decir registros, supongo). Basta con que asignes las propiedades MasterSource de la tabla de Presupuestos al Datasource de Facturas y a la propiedad MasterFields le asignes el índice foráneo a facturas. Con la tabla de detalles haces igual, enlazas el MasterSource al DataSource de presupuestos, y fijas el índice correspondiente, n_pre. Con esto, al navegar por facturas te filtrará los presupuestos relacionados (algo raro me parece), y al navegar por presupuestos te mostrará los detalles correspondientes.
También puedes enlazar consultas por el mismo sistema de Maestro-Detalle. La consulta de presupuestos sería:
SELECT * FROM presupuestos WHERE n_fac = :n1
y los detalles de presupuestos sería:
SELECT * FROM datallespre WHERE n_pre = :n1
Esto hace que la relación maestro-detalle ejecute cada vez la consulta correspondiente y el parámetro :n1 toma cada vez el valor del Dataset maestro.
No sé si es a esto último a lo que te referías.
Un saludo
Irina
27-05-2003, 19:32:23
Gracis por tu ayuda, pero ya he encontrado una solucion mas sencilla
Pero de todas formas gracias por tu interes
Irina.
marcoszorrilla
27-05-2003, 19:58:32
Hola Irina:
Dices que has encontrado una solución más sencilla, no estaría demás que nos dijeras cual es, para saber como lo has resuelto finalmente.
Un Saludo.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.