Filtrando eventos SEMANAIS com query.

Delphi

24/02/2014

Pessoal, tenho um DBGrid no meu formulário principal, ele lista uma série de atividades cadastrados por: Descrição, local, data, horário e observações. Daí eu cadastro todo tipo de evento que tenho que participar, tipo uma agenda, só que eu quero implementar um botão com uma função que ele me liste apenas os eventos que eu tenho nos próximos 7 dias, pra eu não precisar ficar catando tudo no grid super carregado, fiz esse código, mas não me retornou nada, o grid fica do mesmo jeito com todos eventos:


var 
datainicial, datafinal: tdatetime;

Begin
datainicial:= date; 
datafinal:= date + 7;
DataModule1.Query1.SQL.Clear;
DataModule1.Query1.SQL.Add('select data from evento where data >= :data1 and data<= :data2 order by data ASC;');
DataModule1.Query1.Parambyname('data1').AsString:= DateToStr(datainicial);
DataModule1.Query1.ParamByName('data2').AsString:= DateToStr(datafinal);
DataModule1.Query1.Open;
ShowMessage(DateToStr(datainicial) +' e ' +DateToStr(datafinal));
End; 



Alguém pode me ajudar?
Enio Batalha

Enio Batalha

Curtidas 0

Respostas

Enio Batalha

Enio Batalha

24/02/2014

O showmessage no final é só pra verificar se as datas estavam passando corretamente.
GOSTEI 0
Enio Batalha

Enio Batalha

24/02/2014

Pessoal, CONSEGUI resolver usando o filter da table:


DataModule1.TabelaEvento.Filtered:=false;
DataModule1.TabelaEvento.Filter := 'data >= ' + QuotedStr(DateToStr(date)) + ' AND data <= ' + QuotedStr(DateToStr(date+6));
DataModule1.TabelaEvento.Filtered:=True;


GOSTEI 0
POSTAR