Filter em IBQuery

24/07/2017

0

Amigos, estou achando dificuldades em usar a propriedade filter na IBQuery.

Vejam como estou trabalhando.

Ao clicar no calendario, executo esse select, para trazer todo que tenho marcado no dia

  for X := 1 to 16 do
  begin
    HoraIni := IncMinute(HoraIni, 45);
    //Contando os registros pra colorir o grid horarios
    with frmdm.qrAgenda do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT * FROM AGENDA');
      SQL.Add('WHERE HORA = :H AND DATA = :D');
      ParamByName('H').AsTime := HoraIni;
      ParamByName('D').AsDate := Calendario.Date;
      Open;
      FetchAll;
    end;

    cdsHorarios.Append;
    cdsHorarios.FieldByName('HORA').AsDateTime := HoraIni;
    cdsHorarios.FieldByName('QTDE').AsInteger  := frmdm.qrAgenda.RecordCount; // Criei este campo para pintar o grid
    cdsHorarios.Post;

    if HoraIni = StrToTime('11:45') then
       HoraIni := IncMinute(HoraIni, 60);
  end;


Esse código carrega um clientdataset com todos horarios do dia e já puxa quantos horarios tenho marcados.

Agora, preciso de um filter para mostrar no, evento de click, os agendamentos que tenho naquele horario.
Executar um select no banco não é uma opção, pois já tenho os dados do dia em memória...
Testei assim, mas nada acontece

  frmdm.qrAgenda.Filtered := false;
  frmdm.qrAgenda.Filter := 'Hora = ''' + TimeToStr(cdsHorariosHORA.AsDateTime) + '''';
  frmdm.qrAgenda.Filtered := true;
Renan

Renan

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar