Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Maestro detalle con TIBQuery (https://www.clubdelphi.com/foros/showthread.php?t=70483)

gaijin50 23-10-2010 02:21:25

Maestro detalle con TIBQuery
 
Hola a todos

Antes de nada : Delphi 2010 y FireBird 2.1

Tengo dos TIBQuery y quiero ligarlos en una relación maestro-detalle.

Primer TIBQuery (QPacientes)
Apunta a una tabla (Pacientes) que tiene como PK el campo CODPACIENTE

Segundo TIBQuery (QDetalle)
Apunta a una tabla (DetallePacientes) que tiene como PK el campo NUMERO, que es autoincrementable y tiene el campo CODPACIENTE para ligarlo al anterior

Para establecer la relación maestro-detalle hago lo siguiente :

En el SQL de QPacientes pongo : SELECT * FROM PACIENTES

En el SQL de QDetalle pongo SELECT * FROM DETALLEPACIENTES WHERE CODPACIENTE = :CODPACIENTE

En código establezco la relacion entre los datasource de ambos ...

QDetalle.datasource := QPacientes.datasource;

A QDetalle le asigno su dataprovider y su clientdataset. A éste un datasource y a éste una rejilla.

El problema es que no me da ningún error pero no me muestra los detalles en la rejilla.

No sé qué es lo que estoy haciendo mal. Os agradecería vuestra ayuda

Gracias de antemano

Ñuño Martínez 26-10-2010 15:57:54

¿Has hecho la conexión correctamente? Muchas veces nos olvidamos asignar "TRUE" a la propiedad "Connected" de la conexión, o a la propiedad "Active" del "DataSet".

gaijin50 26-10-2010 16:44:52

Cita:

Empezado por Ñuño Martínez (Mensaje 380469)
¿Has hecho la conexión correctamente? Muchas veces nos olvidamos asignar "TRUE" a la propiedad "Connected" de la conexión, o a la propiedad "Active" del "DataSet".

Gracias por contestar. Precisamente estaba en plena sesión de combate con Delphi intentando resolver este problema y tu respuesta me ha dado una pista y con ella, ya está resuelto. El problema era que el Dataset estaba en un formulario diferente y no lo "veia". Un error de lo que soy, un verdadero novato.

Gracias por la ayuda.


La franja horaria es GMT +2. Ahora son las 11:17:11.

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