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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-02-2008
zuncopop zuncopop is offline
Registrado
 
Registrado: feb 2008
Posts: 6
Poder: 0
zuncopop Va por buen camino
Un espectaculo mariano

Cita:
Empezado por jmariano Ver Mensaje
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!
Mariano tu respuesta fue espectacular este tema me tenia trabado hace bastante tiempo gracias por compartir
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 09:55:47.


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