Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фильтрация таблицы DBF [D7, dBase, FoxPro]


810 ©   (2005-09-17 19:02:00) 

Есть таблица DBF (tblScan), в ней поле TIME_PP (типа Date). Есть глобальная переменная DATE_RAB в которой содержится дата. Задача - фильтровать в ран-тайме таблицу в зависимости от значения переменной.

procedure TfmMain.tblScanFilterRecord(DataSet: TDataSet;
 var Accept: Boolean);
begin
   Accept := DataSet['TIME_PP'] = DATE_RAB;
end;

Фильтрую таблицу по TfmMain.OnShow

      fmMain.tblScan.Filtered:=True;

И фильтр применяется нормально.
Но при изменении значения DATE_RAB никак не могу добиться, чтобы фильтр таблицы переназначился. Пробовал: Filtered:=False потом Filtered:=True (не помогает)
tblScan.Refresh (не помогает)

Помогает только закрытие и открытие таблицы с последующим Filtered:=True, а без закрытия/открытия как-нить возможно применить новый фильтр?

ЗЫ: в книжках ничего подобного нет, приходится методом научного самотыка......... Звиняйте.


Anatoly Podgoretsky   (2005-09-18 13:17:00) [1]

Дельфи не интерпритатор


810   (2005-09-18 04:54:00) [2]

Accept := DataSet['TIME_PP'] = DATE_RAB;
-------------------------------------------------------

А как в ран-тайме можно поменять это условие?

Точнее: Как синтаксически правильно вызвать процедуру TfmMain.tblScanFilterRecord(DataSet: TDataSet; var Accept: Boolean);

Допустим, если я хочу добавить к существуюшему условию  условие DataSet['Summa']>0


Anatoly Podgoretsky   (2005-09-17 19:13:00) [3]

fmMain.tblScan.Filtered:=False;
fmMain.tblScan.Filtered:=True;
можно еще добавить First, а можно и вместо.


Наверх

Титульная страница Поиск, карта сайта Написать письмо