Tenho o seguinte SQL com as alterações no if procedure TForm1.SQL4; begin TMOV2.Close; if MAN.RecordCount> 0 then begin TMOV2.SQL.Clear; if (MAN.FieldByName('MINUTA').Text <> 'SEM MINUTA') or (MAN.FieldByName('MINUTA').Text <> ' - ' ) or (MAN.FieldByName('MINUTA').Text <> '000-0000') then begin TMOV2.SQL.Add('SELECT'); TMOV2.SQL.Add(' M.NUMEROMOV,'); TMOV2.SQL.Add(' C.NOME,'); TMOV2.SQL.Add(' M.DATAEMISSAO,'); TMOV2.SQL.Add(' CAST(M.PESOBRUTO AS FLOAT) PESOBRUTO,'); TMOV2.SQL.Add(' M.QUANTIDADE,'); TMOV2.SQL.Add(' M.IDMOV,'); TMOV2.SQL.Add(' MC.DATAMINUTA,'); TMOV2.SQL.Add(' MC.MINUTA,'); TMOV2.SQL.Add(' MC.MINUTAANT,'); TMOV2.SQL.Add(' MC.MINUTAHIST'); TMOV2.SQL.Add('FROM TMOV M,FCFO C,TMOVCOMPL MC'); TMOV2.SQL.Add(' WHERE M.CODCFO = C.CODCFO'); TMOV2.SQL.Add(' AND MC.IDMOV = M.IDMOV'); TMOV2.SQL.Add(' AND M.STATUS <> '+ QuotedStr('C')); TMOV2.SQL.Add(' AND MC.MINUTA = '+ QuotedStr(MAN.FieldByName ('MINUTA').Text)); TMOV2.SQL.Add(' AND M.CODTMV >= '+ QuotedStr('2.2.01')); TMOV2.SQL.Add(' AND M.CODTMV <= '+ QuotedStr('2.2.12')); TMOV2.SQL.Add(' ORDER BY M.NUMEROMOV,C.NOME '); Memo5.lines.AddStrings(TMOV2.sql); //exit; end else begin TMOV2.SQL.Add('SELECT '); // 2 sql TMOV2.SQL.Add('M.NUMEROMOV,'); TMOV2.SQL.Add('C.NOME,'); TMOV2.SQL.Add('M.DATAEMISSAO,'); TMOV2.SQL.Add('CAST(M.PESOBRUTO AS FLOAT) PESOBRUTO,'); TMOV2.SQL.Add('M.QUANTIDADE,'); TMOV2.SQL.Add('M.IDMOV,'); TMOV2.SQL.Add('MC.DATAMINUTA,'); TMOV2.SQL.Add('MC.MINUTA,'); TMOV2.SQL.Add(' MC.MINUTAANT,'); TMOV2.SQL.Add(' MC.MINUTAHIST'); TMOV2.SQL.Add(' FROM TMOV M,FCFO C,TMOVCOMPL MC'); TMOV2.SQL.Add(' WHERE M.CODCFO = C.CODCFO'); TMOV2.SQL.Add(' AND MC.IDMOV = M.IDMOV'); TMOV2.SQL.Add(' AND M.STATUS <> '+ QuotedStr('C')); TMOV2.SQL.Add(' AND MC.MINUTA IS NULL '); TMOV2.SQL.Add(' AND M.CODTMV >= '+ QuotedStr('2.2.01')); TMOV2.SQL.Add(' AND M.CODTMV <= '+ QuotedStr('2.2.12')); TMOV2.SQL.Add(' ORDER BY M.NUMEROMOV,C.NOME'); //Memo4.lines.AddStrings(TMOV2.sql); // exit; end; TMOV2.Open; end; end;
No evento AfterScroll do Form: procedure TForm1.MANAfterScroll(DataSet: TDataSet); begin SQL4; if (MANCODTRA.Text <> 'SEM MINUTA') or begin TTRA.Locate('CODTRA',MANCODTRA.Text,[]); Codtra2.ItemIndex:= Codtra2.Items.IndexOf(TTRACODTRA.Text); Nometra2.ItemIndex:= Nometra2.Items.IndexOf(TTRANOME.Text); end else begin Codtra2.ItemIndex:= -1; Nometra2.ItemIndex:= -1; end; end; Não está gerando erro mais não esta trazendo o 2 sql na opção quando a opção está = "sem minuta" if Agadeço desde já