PDA

Ver la Versión Completa : Se puede Filtrar el Dellate?


Palmiro
19-05-2008, 00:36:26
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
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.


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.:)