Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Действие ApplyFilter можно использовать для применения фильтр, запрос или предложения SQL WHERE к таблица, форма или отчет для ограничения или сортировки записей в таблице или записей из базовой таблицы или запроса формы или отчета. Для отчетов это действие можно использовать только в макрос, заданном свойством события OnOpen отчета.

Примечание: Применить предложение SQL WHERE с помощью этого действия можно только при использовании серверного фильтра. Серверный фильтр нельзя применить к источнику записей хранимой процедуры.

Примечание: Макрокоманда "ПрименитьФильтр" недоступна в веб-приложениях Access.

Настройка

Аргументы макрокоманды ПрименитьФильтр описаны ниже.

Аргумент макрокоманды

Описание

Имя фильтра

Имя фильтра или запроса, используемого для отбора или сортировки записей в таблице, форме или отчете. В поле Имя фильтра в разделе Аргументы макрокоманды области "Конструктор макросов" можно указать имя существующего запроса либо фильтра, сохраненного в качестве запроса.

Примечание: Когда эта макрокоманда используется для применения серверного фильтра, аргумент Имя фильтра должен быть пустым.

Условие Where

Действительное предложение SQL WHERE (без слова WHERE) или выражение, выполняющее отбор записей таблицы, формы или отчета.

Примечание: В выражении аргумента Where Condition левая часть выражения обычно содержит имя поля из базовой таблицы или запроса для формы или отчета. В правой части выражения обычно содержится условия, который требуется применить к этому полю для ограничения или сортировки записей. Например, критерием может быть имя элемента управления в другой форме, содержащей значение, которое должно соответствовать записям в первой форме. Имя элемента управления должно быть полным, например:

Forms!имя_формы!имя_элемента_управления

Имена полей заключаются в двойные кавычки, а строковые литералы — в одинарные.

Максимальная длина аргумента условия Where составляет 255 знаков. Если нужно указать более длинное предложение SQL WHERE, используйте метод ПрименитьФильтр объекта DoCmd из модуля Visual Basic для приложений (VBA). Длина предложений SQL WHERE в VBA может составлять до 32 768 знаков.


Примечание: Аргумент Имя фильтра можно использовать, если уже определен фильтр, содержащий соответствующие данные. С помощью аргумента условия Where можно непосредственно задать ограничительное условие. При использовании обоих аргументов Access применяет предложение WHERE к результатам фильтрации. Необходимо использовать один или оба этих аргумента.

Замечания

Фильтр или запрос можно применить к форме в представлении формы или режиме таблицы.

Применяемые фильтр и условие WHERE становятся значением свойства Фильтр или ServerFilter формы или отчета.

При работе с таблицами и формами выполнение этой макрокоманды аналогично выбору команды Применить фильтр/Отсортировать или Применить серверный фильтр в меню Записи. Команда меню применяет последний созданный фильтр к таблице или форме, в то время как макрокоманда ПрименитьФильтр применяет указанный фильтр или запрос.

Если в базе данных Access после выполнения макрокоманды Применить фильтр навести указатель мыши на элемент Фильтр в меню Записи и выбрать команду Расширенный фильтр, Окно расширенного фильтра или сортировки отображает условия фильтрации, выбранные с помощью этой макрокоманды.

Чтобы удалить фильтр и отобразить все записи таблицы или формы в базе данных Access, можно воспользоваться макрокомандой ПоказатьВсеЗаписи или командой Удалить фильтр в меню Записи. Чтобы убрать фильтр в проекте Access (ADP), можно вернуться в окно серверный фильтр по форме и удалить все условия фильтрации, а затем выбрать команду Применить серверный фильтр в меню Записи на панели инструментов или задать для свойства ServerFilterByForm значение Ложь (0).

При сохранении таблицы или формы Access сохраняет фильтр, заданный в соответствующем объекте в данный момент, однако не применяет его автоматически в следующий раз при открытии этого объекта (при этом автоматически применяются условия сортировки, которые были применены к объекту на момент его сохранения). Чтобы автоматически применять фильтр при первом открытии формы, задайте макрос с макрокомандой ПрименитьФильтр или процедуру события, содержащую метод ПрименитьФильтр объекта DoCmd в качестве значения свойства события OnOpen формы. Применить фильтр также можно с помощью макрокоманд ОткрытьФорму и ОткрытьОтчет или их соответствующих методов. Чтобы автоматически применять фильтр при первом открытии таблицы, ее можно открывать с помощью макроса, содержащего макрокоманду ОткрытьТаблицу, за которой сразу следует макрокоманда ПрименитьФильтр.

Пример

Применение фильтра с помощью макроса

Следующий макрос содержит набор действий, каждое из которых фильтрует записи для формы Списка телефонов клиента. Здесь показано использование действий ApplyFilter, ShowAllRecords и GoToControl . Здесь также показано использование условий для определения того, какая кнопка переключения в группе параметров была выбрана в форме. Каждая строка действия связана с переключателем, который выбирает набор записей, начиная с A, B, C и т. д., или всех записей. Этот макрос должен быть присоединен к событию AfterUpdate группы параметров CompanyNameFilter.

Условие

Макрокоманда

Аргументы: параметр

Примечания

[CompanyNameFilters]=1

ПрименитьФильтр

Условие Where: [CompanyName] Like "[AÀÁÂÃÄ]*"

Фильтрация названий компании, которые начинаются с буквы A, À, Á, Â, Ã или Ä.

[CompanyNameFilters]=2

ПрименитьФильтр

Условие Where: [CompanyName] Like "B*"

Фильтрация названий компании, которые начинаются с буквы B.

[CompanyNameFilters]=3

ПрименитьФильтр

Условие Where: [CompanyName] Like "[CÇ]*"

Фильтрация названий компании, которые начинаются с буквы C или Ç.

... Строки действий с D по Y задаются в том же формате, что и строки с A по C...

[CompanyNameFilters]=26

ПрименитьФильтр

Условие Where: [CompanyName] Like "[ZÆØÅ]*"

Фильтрация названий компании, которые начинаются с буквы Z, Æ, Ø или Å.

[CompanyNameFilters]=27

ПоказатьВсеЗаписи

Показать все записи.

[RecordsetClone].[RecordCount]>0

КЭлементуУправления

Имя элемента: CompanyName

Если для выбранной буквы возвращаются записи, перевести фокус на элемент управления CompanyName.


Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×