GARANTIR DESCONTO

Fórum Como filtrar por código e data? #342799

18/06/2007

0

Alguém poderia me ajudar com essa pesquisa.

É o seguinte eu tenho que fazer uma filtragem por código e por data, mais não to sabendo fazer.

Em um formulário de vendas eu tenho o seguinte código para filtrar por data
if Combobox1.ItemIndex = 5 then
  begin
    DM_Geral.IBDSVenda.Close;
    DM_Geral.IBDSVenda.SelectSQL.Clear;
    DM_Geral.IBDSVenda.SelectSQL.Add(´Select * From VENDAS where extract(year from DATA) = 2007 and extract(month from DATA) = 6´);
    DM_Geral.IBDSVenda.SelectSQL.Add(´Order by Empresa,Data´);
    DM_Geral.IBDSVenda.Open;
  end

Só que agora eu preciso filtrar também por código da empresa.
DM_Geral.IBDSVenda.Close;
  DM_Geral.IBDSVenda.SelectSQL.Clear;
  DM_Geral.IBDSVenda.SelectSQL.Add(´Select * From VENDAS´);
  DM_Geral.IBDSVenda.SelectSQL.Add(´Where Upper(CODIGOEMPR) Like:CODIGOEMPR´);
  DM_Geral.IBDSVenda.ParamByName(´CODIGOEMPR´).AsString := edit2.Text;
  DM_Geral.IBDSVenda.Open;

O problema é que quando eu filtro por código ´01´ o filtro por data não funciona então é mostrado todos os meses que foi cadastrado para a empresa ´01´

To usando Delphi 7 + Firebird 1.5 + IBX.

Desde já agradeço.


Vitoreduardo

Vitoreduardo

Responder

Posts

20/06/2007

Lab

No filtro por data coloca a seguinte linha depois do if

DM_Geral.IBDSVenda.Params.Clear;


Responder

Gostei + 0

20/06/2007

Emerson Nascimento

ponha tudo numa única instrução:
with DM_Geral.IBDSVenda do
begin
  Close;
  SelectSQL.Clear;
  SelectSQL.Add(´Select * From VENDAS´);
  SelectSQL.Add(´where extract(year from DATA) = 2007 and extract(month from DATA) = 6´);
  SelectSQL.Add(´and Upper(CODIGOEMPR) Like :CODIGOEMPR´);
  SelectSQL.Add(´Order by Empresa,Data´);
  ParamByName(´CODIGOEMPR´).AsString := edit2.Text;
  Open;
end;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar