Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2003
Irina Irina is offline
Miembro
 
Registrado: may 2003
Posts: 39
Poder: 0
Irina Va por buen camino
Question consultas entre varias tablas

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.
Responder Con Cita
  #2  
Antiguo 27-05-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 21
andres1569 Va por buen camino
Hola:

Irina escribió:
Cita:
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
Responder Con Cita
  #3  
Antiguo 27-05-2003
Irina Irina is offline
Miembro
 
Registrado: may 2003
Posts: 39
Poder: 0
Irina Va por buen camino
Gracis por tu ayuda, pero ya he encontrado una solucion mas sencilla

Pero de todas formas gracias por tu interes
Irina.
Responder Con Cita
  #4  
Antiguo 27-05-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:48:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi