Фильтрация записей в формах, отчетах, таблицах
Перейдем к примерам применения макрокоманд Access. Для отбора записей в формах, отчетах, таблицах используется макрокоманда Приме нить Фильтр (ApplyFilter). Задать фильтр можно двумя способами: либо указав имя заранее созданного фильтра в аргументе
Имя фильтра
(Filter Name), либо непосредственно задав условие выборки в аргументе
Условие отбора
(Where Condition). Если фильтр нужно применить сразу при открытии формы, тогда с событием
Открытие
(On Open) формы необходимо связать макрос, содержащий макрокоманду ПрименитьФильтр (ApplyFilter). Если нужно менять набор отображаемых записей в открытой форме динамически, поступают следующим образом:
создают в этой форме набор полей, в которых можно задать условия отбора;
создают кнопку
Применить фильтр,
с которой связывают макрос, содержащий макрокоманду ПрименитьФильтр (ApplyFilter). В качестве значения аргумента
Условие отбора
(Where Condition) для этой макрокоманды указывают выражение, содержащее ссылки на эти поля.
Пример такого решения приведен на рис. 11.15. На этом рисунке представлена форма "Товары" (Products), позволяющая просматривать товары с выборкой по различным критериям.
Эта форма построена на основе таблицы "Товары" (Products) с помощью Мастера автоматической генерации ленточных форм. Затем в режиме Конструктора форм к ней добавлены поля для определения критериев выбора и кнопки для применения и отмены фильтра. Соответствующие макросы, связанные с событием
Нажатие, кнопки
(On Click), приведены на рис. 11.16. Для отмены фильтра используется макрокоманда ПоказатьВсеЗаписи(ShowAllRecords).