Показать сообщение отдельно
  #3  
Старый 03.05.2020, 12:19
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 173
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Вот как у меня в одном месте программы сделана фильтрация по датам. Это фрагмент кода, использующий свойство Filter датасета:
Код:
  if ((chbDate1.Checked) or (chbDate2.Checked)) then
    begin
      s := '';
      da1 := DateToStr(dtp1.Date);
      da2 := DateToStr(dtp2.Date);

      if chbDate1.Checked then
        begin
          if chbDate2.Checked then
            begin
              s := '((Data_dok >= "' + da1 + '") AND (Data_dok <= "' + da2 + '"))';
            end
              else
                begin
                  s := 'Data_dok >= "' + da1 + '"';
                end;
        end
          else
            begin
              if chbDate2.Checked then
                begin
                  s := 'Data_dok <= "' + da2 + '"';
                end;
            end;
В "s" формируется строка для фильтра по датам, затем следует
Код:
fq.Filter := s;
fq.Filtered := true;
(где fq - фильтруемый датасет). Разъяснения, что есть что - на прикреплённом скриншоте.
Изображения
Тип файла: jpg __2020-05-03_121335.jpg (67.9 Кбайт, 2 просмотров)
Ответить с цитированием