Delphi - Filtro

   
Vista:

Filtro

Publicado por Diana Marcela (1 intervención) el 17/07/2008 18:22:05
Hola A todos de antemano muchas grcias.
Aqui va

Tengo que hacer una consulta de Dos Tablas y luego filtra los datos que me arroja la misma, la consulta me sale bien pero al momento de reañlizar el filtro y empiezo a escribir me arroja una cantidad de registro que no son de la consulta inicial.

Se que el error esta en el where q esta antes de el like, pero es que no me deja hacer mas condiciones, les agradeceria una ayudita

Esto es lo que hago para filtrar

qr1.SQL.Clear;
qr1.SQL.Add('Select FC.NumFac,CP.CodProd,P.Articulo,P.Unidad,P.Cantidad,P.V_Entrada,P.V_Salida,FC.Descuento,FC.Total,P.Grupos,P.Sub_Grupo');
qr1.SQL.Add('from Producto P,FacCompra FC,CompraProd CP');
qr1.SQL.Add('where CodProd');
qr1.SQL.Add('LIKE '+#39+edfCodp.Text+'%'+#39);
qr1.SQL.Add('Union ');
qr1.SQL.Add('Select FC.NumFac,CP.CodProd,P.Articulo,P.Unidad,P.Cantidad,P.V_Entrada,P.V_Salida,FC.Descuento,FC.Total,P.Grupos,P.Sub_Grupo');
qr1.SQL.Add('from Producto P,FacCompra FC,CompraProd CP');
qr1.SQL.Add('where FC.NumFac=CP.NumFac And P.CodProd=CP.CodProd Group By CodProd');
qr1.Open;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Filtro

Publicado por pacopaz (104 intervenciones) el 17/07/2008 20:14:14
Segun veo, no necesitas el 'union', aunque claro, es mi punto de vista. Lo que yo haría sería lo siguiente:

qr1.SQL.Add('Select FC.NumFac,CP.CodProd,P.Articulo,P.Unidad,P.Cantidad,P.V_Entrada,P.V_Salida,FC.Descuento,FC.Total,P.Grupos,P.Sub_Grupo');
qr1.SQL.Add('from Producto P,FacCompra FC,CompraProd CP');
qr1.SQL.Add('where CodProd LIKE ''' + edfCodp.Text + '%''');
qr1.SQL.Add('or (FC.NumFac=CP.NumFac And P.CodProd=CP.CodProd Group By CodProd)');

Esto haría la consulta más rápida, pero no significa que lo que tu haces esté mal. Ahora, en donde pongas el resultado filtrado, primero tienes que borrar lo que tengas para que luego ponga lo que estás filtrando.

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar