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
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
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)