Access 2002

Условие фильтрации


А вот если вы зададите оба аргумента, Access применит условие фильтрации, заданное вами в параметре WhereCondition, к результату выполнения запроса, заданного в параметре FilterName. Иными словами, она объединит оба критерия фильтрации оператором AND.

В любом случае, сколько бы параметров вы не передали методу ApplyFilter, он заменит исходное значение свойства формы Filter новым критерием фильтрации.

Что происходит при косвенном изменении свойства Filter

В ответ на применение любого из описанных выше средств (фильтр по выделенному, фильтр по форме, расширенный фильтр или метод ApplyFilter) Access выполнит следующие действия.

1.   Изменит свойство формы Filter.

2.   Отфильтрует соответствующим образом отображаемые в форме данные.

3.   Присвоит значение True свойству формы FilterOn.

4.   Выполнит повторный запрос к набору записей, на основе которого создана форма.

5.   Отобразит в форме рядом с кнопками перехода слово Fi Iter (иногда вследствие ошибки Access этого не происходит).

6.   Выведет в строке состояния Access индикатор FLTR.

Изменение свойства Filter программным путем

Если изменить свойство формы Filter программным путем (посредством кода VBA или макроса), результат будет зависеть от того, были ли данные формы отфильтрованы к этому моменту. Если да, новый фильтр также немедленно будет

активизирован. Если нет, условие изменится, но фильтр активизирован не будет. Он будет применен только тогда, когда пользователь даст команду Apply Filter > Sort или вы программным путем присвоите свойству формы FilterOn значение True. Имейте, однако, в виду, что значение, присвоенное свойству Filter программным путем, не сохраняется после закрытия формы, даже если пользователь впоследствии вручную активизирует этот фильтр.

Комментарии закрыты