Filtrando eventos SEMANAIS com query.
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:
Alguém pode me ajudar?
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
Curtidas 0
Respostas
Enio Batalha
24/02/2014
O showmessage no final é só pra verificar se as datas estavam passando corretamente.
GOSTEI 0
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