
espero me puedan ayudar en lo siguiente.
tengo un problema con un filtro.
esta es una query donde busco unos folios segun los que encuentre va asignar la linea de codigo a la variable 'Busca' los folios que encuentra son 2 pero pueden ser mas por ejemplo encuentra 2 el IR y OV
esta me va bien
with Q_fol do
begin
Active:=False;
sql.Clear;
sql.Add('SELECT DISTINCT FOLUSER FROM AGENFOL WHERE (CLV_AGN =:CLVE)');
ParamByName('CLVE').AsInteger:=FrmOffices.qry1.fieldbyname('CLV_OFC').AsInteger;
Active:=True;
end;
Q_fol.First; me voy al primer registro el cual no interesa asignar porque se lo paso mas adelante
Q_fol.Next; me voy al segundo este si porque es el que agrego en la variable 'Busca'
while not Q_fol.Eof do
begin
busca:=busca+' OR (CVE_DOC LIKE OC ) AND (TIP_DOC = '+QUOTEDSTR('F')+') AND (STATUS <> '+QUOTEDSTR('C')+') AND (FECHA_DOC >= :F1) AND (FECHA_DOC <= :F2)';
Q_fol.Next;
end;
hasta aqui todo bien ,pero el problema es en esta

WITH qry1 DO
BEGIN
Active:=False;
SQL.Clear;
SQL.Add('SELECT * FROM FACT01 WHERE (CVE_DOC LIKE OC ) AND (TIP_DOC ='+QUOTEDSTR('F')+') AND (STATUS <> '+QUOTEDSTR('C')+') AND (FECHA_DOC >= :F1) AND (FECHA_DOC <= :F2) '+BUSCA+' ');
Q_fol.First;
C:=0;
Params[C].Text:=Trim('%'+Q_fol.FIELDBYNAME('FOLUSER').Text+'%');
C:=C+1 ;
Params[C].AsDate:=DateTimePicker1.DATE;
C:=C+1 ;
Params[C].AsDate:=DateTimePicker2.DATE;
Q_fol.Next;
while not Q_fol.Eof do
begin
C:=C+1 ;
Params[C].Text:=Trim('%'+Q_fol.FIELDBYNAME('FOLUSER').Text+'%');
C:=C+1 ;
Params[C].AsDate:=DateTimePicker1.DATE;
C:=C+1 ;
Params[C].AsDate:=DateTimePicker2.DATE;
C:=C+1;
Q_fol.Next;
end;
Active:=True;
end;
por algun motivo no se que estoy haciendo mal


La misma consulta la he provado en el Sql express 2005 que es donde tengo la base de datos y me muestra bien los resultados (y)solo es cuando utilizo en el delphi en el dbgrid que no me esta mostrando bien la informacion.
por siento trabajo en Sql express 2005 y delphi 7
les agradeceria mucho su ayuda
saludos