|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi 7 + бд, как реализовать фильтр по дате? И вывод
Пробую сделать похожую программу, но не знаю как реализовать:
1)фильтр по дате 2) чтобы в DBComboBox1 выводился не КОД(автомобиля,клиента и т.д), а фамилия, марка и тд. Справа на скриншоте пример, как должно быть. Слева то как это выглядит у меня. Снизу то как выглядит эта таблица Надеюсь понятно объяснил =) |
#2
|
|||
|
|||
1. фильтр можно сделать 2мя способами. Первый - переоткрывать параметризаованый запрос. Второй - у DataSet есть специальный метор - OnFilter если не ошибаюсь. Там можно проверять - надо ли показывать запись или нет.
2. Для этого надо использовать другой компонент - DBLookupComboBox. Он имеет ссылку на дополнительную таблицу из которой и берет данные для отображения. |
#3
|
||||
|
||||
Вот как у меня в одном месте программы сделана фильтрация по датам. Это фрагмент кода, использующий свойство 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; Код:
fq.Filter := s; fq.Filtered := true; Последний раз редактировалось Guaho, 03.05.2020 в 12:24. |