Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Se puede Filtrar el Dellate? (https://www.clubdelphi.com/foros/showthread.php?t=56473)

Palmiro 19-05-2008 00:36:26

Se puede Filtrar el Dellate?
 
Hola amigos del foro...

Les cuento que estoy haciendo una aplicacion la cual se conecta a Access a traves de ADO ---> CLientDataSet.

Tengo una 1 consultas relacionadas Maestro/Detalle.

He aqui la cuestion.
El maestro se puede filtrar perfectamente, pero el detalle da error.
Luego probe de habrir la consulta detalle filtrada con una instruccion SQL.
He aqui el problema... al hacer esta con consulta con clausula WHERE se me pierde el indice que relaciona Maestro con el detalle.

Hay algo que estoy haciendo mal o siempremente no voy a poder ese tipo de consulta relacionando el Maestro con detalle?

Espero que me allan entendido algo de lo que les trate de comentar...

Gracias por su respuesta...

La estare esperando

Caro 19-05-2008 14:41:09

Cita:

Empezado por Palmiro (Mensaje 287566)
Luego probe de habrir la consulta detalle filtrada con una instruccion SQL.
He aqui el problema... al hacer esta con consulta con clausula WHERE se me pierde el indice que relaciona Maestro con el detalle.

Hola Palmiro, si se puede filtrar el detalle, de una relación maestro detalle, solo que, cuando hagas tu consulta tienes que seguir aumentando el parámetro que te permite hacer esa relación.

Código Delphi [-]
 ADOQuery1.SQL.Text := 'Select * From tablaDetalle Where campoDetalle=:campoMaestro and campo="'+Edit1.Text+'"';

Saluditos

Palmiro 20-05-2008 12:07:05

Gracias Caro por tu respuesta pero no la entendi.
No entiendo las asignaciones que haces dentro de la consulta.
Te agradeceria muchisimo si me podes dar una mano mas...

gracias...

Caro 20-05-2008 14:34:31

Hola de nuevo Palmiro, como dices que tienes una relación maestro detalle, yo he supuesto que lo tienes de esta forma:

Digamos que tienes dos AdoQuerys, donde el primero hara de maestro y el segundo de detalle

AdoQuery1 tiene la siguiente consulta "Select * From TablaMaestro"
AdoQuery2 tiene la siguiente consulta "Select * From TablaDetalle Where CodigoDetalle=:CodigoMaestro"

donde CodigoMaestro le pertenece a tu TablaMaestro y es el que se relaciona con tu TablaDetalle (CodigoDetalle).

ahora, cada AdoQuery tiene su DataSource, Digamos que para AdoQuery1 ->DataSource1 y para AdoQuery2-> DataSorce2 y para establecer la relación maestro detalle tu AdoQuery2, en su propiedad DataSource->DataSource1.

Ambos resultados los muestras en dos dbGrid, entonces si quieres filtrar por el detalle lo haces tal como esta la consulta de AdoQuery2 aumentando los campos por los que quieres filtrar y no se perdera la relación maestro detalle.

Saluditos

Palmiro 20-05-2008 17:17:32

Gracias Caro... por tu tiempo dedicado...
Pruebo y te cuento...
Chau.:)


La franja horaria es GMT +2. Ahora son las 10:04:50.

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