Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 13-09-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 21
jmariano Va por buen camino
Solo decir que no es cierto que no se pueda poner dos TIBQuery en una relación maestro/detalle. Para hacerlo tenemos que construir la sentencia SQL del TIBQuery detalle con una cláusula "WHERE" donde especificamos el campo que actúa de clave ajena igualándola a un parámetro dinámico. El nombre de este parámetro debe coincidir con el nombre del campo que forma parte de la clave principal en el TIBQuery maestro y, por último, tenemos que especificar en la propiedad "DataSource" del TIBQuery detalle el "DataSource" del TIBQuery maestro.

Por ejemplo, tomemos como ejemplo la base de datos que viene por defecto con Interbase.

EMPLOYEE (Empleado)
----------
DEPT_NO
EMP_NO
FIRST_NAME
...

PHONE_LIST (Números de teléfono de un empleado)
------------
EMP_NO
LOCATION
PHONE_NO
PHONE_EXT
...

Si queremos relacionar ambos querys para mostrar los números de teléfono de un empleado determinado:

1- Definimos la consulta SQL del TIBQuery maestro, en este caso, Empleado:

Código SQL [-]
  select * from EMPLOYEE

2- Asignamos a la propiedad "DataSource" del TIBQuery detalle (números de teléfono) el "DataSource" del TIBQuery maestro (empleado)

Código Delphi [-]
  ibqPhoneList.DataSource := ibqEmployee.DataSource;

3- Configuramos la consulta SQL del TIBQuery detalle (números de teléfono)

Código SQL [-]
  select * from PHONE_LIST where EMP_NO = :EMP_NO

(El parámetro dinámico ha de llamarse igual al campo existente en el TIBQuery maestro por el cual queremos enlazar la tabla para que lo pueda localizar, que, en este caso, se trata del número de empleado: EMP_NO).

Por último activamos el TIBQuery detalle y ya podemos ver los números de teléfono de cada empleado según nos movamos por la tabla de empleados.

Saludos!

Última edición por jmariano fecha: 13-09-2005 a las 22:07:22.
Responder Con Cita
 



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 03:40:35.


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