Fórum Filtrando eventos SEMANAIS com query. #471024
24/02/2014
0
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
Curtir tópico
+ 0
Responder
Posts
24/02/2014
Enio Batalha
O showmessage no final é só pra verificar se as datas estavam passando corretamente.
Responder
Gostei + 0
24/02/2014
Enio Batalha
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)