PDA

Ver la Versión Completa : Filtrar tres tablas paradox al tiempo


Camilo
08-10-2007, 18:43:33
Hola AMigos Buenos dias.

Resulta que tengo cuatro tablas en paradox asi:
Entidades: IdEntidad, Nom_Entidad.
Examenes1: Entidad, (Otros)
Examenes2: Entidad (Otros)
Examenes3: Entidad (Otros)

Las 3 Tablas de Examenes estan con interidad referencial con entidades:IdEntidad.

Necesito para efectos de elaborar una cuenta de cobro, filtrar las tres tablas de examenes por la entidad que corresponda. Es decir que en un desplegable yo le indico la entidad y que me salga en un grid ciertos campos de cada una de las tablas peros solo que tengan esa entidad.

Los campos entidad de las tres tablas son I y el campo IDEntidad de Entidades es +.

Gracias Amigos.

Que pena Trabajo D7.

Lepe
08-10-2007, 20:30:00
Curioso, ultimamente se pregunta eso mucho: Aqui (http://www.clubdelphi.com/foros/showthread.php?t=48941)

Saludos

Camilo
09-10-2007, 04:26:18
Lepe disculpa la tardanza en hablarte; mi zona tiene problemas de red y no habia podido conectarme. gracias por tu aporte pero en realida no es lo que necesito.

Gracias en todo caso.

Lepe
09-10-2007, 10:50:51
¿como que no?

Primero, la integridad referencial en paradox no está implementada (viene en el Database desktop, pero no funciona), así que tendrás que implementarlo tú a base de consultas y comprobaciones.

Tu problema, Si pones una consulta TQuery con el texto:


select e.idEntidad, e.Nom_Entidad, x1.campo1
from Entidad e innner join Examenes1 x1 on e.identidad = x1.Entidad
where e.identidad = 3
te aparecerá en DBGrid el identidad, nombre de la entidad y de la tabla Examenes1 el campo "Campo1" y solo aquellos cuya identidad sea el 3.

Uniendo las tres tablas, en un único grid saldrán los datos de las tres tablas.

Otra cosa es que no aparezcan los datos que quieres, en cuyo caso necesitarías 3 Grids uno por cada tabla y hacer un sql del tipo:


select * from examenes1
where entidad = 3
Es decir, tendrías 3 consultas y 3 grids, cada una con una sola tabla.

Saludos