Для просмотра и корректировки записей базы данных, удовлетворяющих указанным пользователем условиям отбора, предусмотрена фильтрация таблицы. Фильтр — это набор условий, применяемый для отбора подмножества записей в таблице, форме или запросе.
Access позволяет использовать три типа фильтров: фильтр по выделенному, обычный и расширенный фильтр.
Простейшим способом задания условия отбора записей является выделение в таблице или форме некоторого значения поля или его части.
Рассмотрим этот способ фильтрации на примере таблицы СТУДЕНТ.
1. Откроем таблицу СТУДЕНТ в режиме таблицы.
2. Для отбора всех записей о студентах, фамилии которых начинаются с буквы С, выделим эту букву в поле ФИО одной из записей, где фамилия начинается с этой буквы.
3. Выполните команду меню Записи | Фильтр | Фильтр по выделенному или нажмите соответствующую кнопку на панели инструментов. В результате фильтрации в таблице будут отображены только те записи, в которых фамилия студента начинается на букву С.
4. Продолжите фильтрацию на полученном подмножестве записей по дополнительному условию отбора. Среди найденных студентов выберите родившихся в 1982 году. Выделите в поле Дата рождения одной из записей значение 82. После выполнения команды Фильтр по выделенному из всех записей подмножества в таблице останутся только те, в которых поле Дата рождения имеет заданное значение.
Замечание
В таблице или форме, для которой применен фильтр, в строке перехода по записям указано (Фильтр).
5. Для отбора записей, не содержащих выделенного значения в поле, после выделения значения выполните команду меню Записи | Фильтр | Исключить выделенное или щелкните правой кнопкой мыши и в появившемся контекстном меню (рис. 5.1) выберите команду Исключить выделенное.
6. Чтобы работать со всеми записями таблицы, отмените действие фильтра, выполнив команду Записи | Удалить фильтр или нажав соответствующую кнопку на панели инструментов.
Рис.5.1. Контентекстное меню для выделенного значения |
![]() |
7. Для повторного использования фильтра выполните команду Записи | Применение фильтра или нажмите соответствующую кнопку на панели инструментов.
Замечание
Фильтр, созданный при выполнении команды Фильтр по выделенному или Исключить выделенное, сохранятся автоматически при сохранении таблицы, запроса или формы. При последующих открытиях таблицы этот фильтр может быть применен снова.
Обычный фильтр позволяет произвести отбор записей путем ввода значений в пустую таблицу или форму, вызываемую командой Изменить фильтр. В окне обычного фильтра Фильтр (рис. 5.2) можно создать новый фильтр или просмотреть и откорректировать ранее созданный фильтр.
Рис.5.2. Окно обычного фильтра таблицы СТУДЕНТ |
![]() |
На вкладке Найти в поля фильтра вводятся значения, по которым будут отбираться записи. Значения можно вводить с клавиатуры или выбирать из списка. Ввод значений в несколько полей одной строки фильтра определяет отбор записей, в которых присутствуют все указанные значения. При этом заданные условия рассматриваются как объединяемые логической операцией И.
Для того чтобы указать альтернативный вариант отбора записей, включаемых в результирующий набор отображаемых записей, выбирается вкладка Или в левом нижнем углу окна фильтра. При этом открывается новая строка фильтра для задания новых условий отбора. Набор условий, введенных в разные строки, связывается логической операцией ИЛИ. Следующий альтернативный вариант может быть задан на следующей вкладке Или .
Фильтр будет отбирать записи, содержащие в полях все значения, указанные на вкладке Найти и на вкладках Или.
Отфильтруйте записи формы СПИСОК ГРУППЫ, построенной на таблицах ГРУППА и СТУДЕНТ, выберите из групп 101 и 102 данных о студентах, которые имеют балл выше проходного, равного 4,5.
1. Откройте форму СПИСОК ГРУППЫ.
2. Нажмите на панели инструментов кнопку Изменить фильтрили выполните команду меню Записи | Фильтр | Изменить фильтр.
3.В окне СПИСОК ГРУППЫ: фильтр (рис.5.3) удалите отображенный ранее использованный фильтр, нажав кнопку Очистить бланк.
Рис.5.3. Окно обычного фильтра формы СПИСОК ГРУППЫ |
![]() |
4. Задайте условия отбора. На внешней вкладке Найти, относящейся к основной части формы, в списке Ном. группы выберите из списка первое значение 101. Второе значение 102 выберите на вкладке Или. На внутренней вкладке Найти , относящейся к подчиненной части формы, в поле ввода Проходной балл введите условие >4,5 (рис.5. 4.).
Рис.5.4. Обычный фильтр с заданными условиями отбора |
![]() |
5. Выполните фильтрацию таблицы по команде Фильтр | Применение фильтра . В результате фильтрации в форме СПИСОК ГРУППЫ будут выводиться только те группы и данные о студентах групп, которые соответствуют условиям отбора (рис. 5.5).
Рис.5.5. Форма СПИСОК ГРУППЫ после применения фильтра |
![]() |
6. Для просмотра всех записей из обеих таблиц через форму снимите фильтр, нажав кнопку Удалить фильтр или выполнив команду Записи | Удалить фильтр.
Замечание
Фильтр автоматически сохраняется вместе с формой при ее закрытии и может быть применен при следующем открытии формы.
7. Для того чтобы сделать недоступным старый фильтр, в активном окне фильтра формы очистите бланк как для главной, так и для подчиненной части формы, выполнив команду меню Правка | Очистить бланк или нажав соответствующую кнопку панели Фильтр. Для возврата в режим формы нажмите кнопку Применение фильтра или выполните команду Фильтр | Применение фильтра.
8. Чтобы запретить применение любого фильтра в форме, откройте ее в режиме конструктора и на вкладке Данные задайте для свойства Применение фильтров значение Нет. Обратите внимание, что в свойстве Фильтр записан фильтр, используемый по умолчанию, — текущий фильтр.
9. Перейдите в режим формы и убедитесь, что все кнопки фильтров стали недоступными.
Расширенный фильтр предоставляет окно для задания условий отбора, отображаемых записей таблицы или формы. Окно расширенного фильтра таблицы СТУДЕНТ показано на рис.5.6.
Рис.5.6. Окно расширенного фильтра таблицы СТУДЕНТ |
![]() |
Замечание
Представленный на рис. 5.6. расширенный фильтр отображает ранее сформированный для таблицы СТУДЕНТ фильтр по выделенному для полей ФИО и ДАТАР.
В строке Условия отбора записывается выражение, результатом которого является конкретное значение. Выражение состоит из операндов и операторов.
В качестве операндов выражения могут использоваться: литеры, константы, идентификаторы (ссылки).
Литералами являются конкретные значения, воспринимаемые Access так как они записаны. В качестве литералов могут быть использованы числа, текстовые строки, даты. Текстовые строки заключаются в двойные кавычки, даты — в знаки # (например, 567, "Информатика", #1-Января-99#).
Константами являются неизменяющиеся значения, которые определены в Access (например, True, False, Да, Нет, Null).
Идентификатор представляет собой ссылку на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей, таблиц, форм, отчетов и т. д. Они должны заключаться в квадратные скобки. Как правило, Access производит автоматическую подстановку скобок.
Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора являются: = , < , > , о , <=, >=, Between, In , Like , And, Or, Not. Они определяют операцию над одним или несколькими операндами.
Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор = .
Текстовые значения в выражении, если содержат пробелы или знаки препинания, вводятся в двойных кавычках. В противном случае кавычки можно не вводить, они будут добавлены автоматически.
Допускается использование операторов шаблона: звездочка (*) и вопросительный знак (?).
Оператор Between позволяет задать интервал для числового значения. Например, Between 10 And 100 задает интервал от 10 до 100.
Оператор Likeпозволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях.
Логические операции и и или. Условия отбора, заданные в одной строке, связываются по умолчанию с помощью логической операции И, заданные в разных строках — с помощью логической операции или. Эти операции могут быть также заданы явно в выражении условия отбора с помощью операторов AND и OR соответственно.
Сформировать условие отбора можно с помощью построителя выражений. Перейти в окно Построитель выражений можно, нажав кнопку Построить на панели инструментов конструктора запросов или выбрав команду Построить в контекстном меню. Курсор мыши должен быть установлен предварительно в ячейке ввода условия отбора.
После ввода выражения в бланк и нажатия клавиши
Сформируйте расширенный фильтр для отбора всех студентов, родившихся в данном месяце.
1.Откройте таблицу СТУДЕНТ.
2. Нажмите кнопку Расширенный фильтр или выполните команду Записи | Фильтр | Расширенный фильтр.
3. В окне фильтра перетащите из списка полей таблицы поле ДАТАР в строку бланка запроса Поле и используйте его в функции Month выделяющей из даты месяц. В строку Условие отбора введите вопрос, с которым система будет обращаться к пользователю при выполнии фильтрации (рис. 5.7). Квадратные скобки, в которые заключен вопрос указывают системе, что вопрос является параметром отбора, который будет вводиться пользователем в процессе диалога.
Рис.5.7. Расширенный фильтр таблицы СТУДЕНТ с запросом на выборку записей с заданным месяцем в дате рождения |
![]() |
4. Выполните фильтрацию, нажав кнопку Применение фильтра .
5. В диалоговое окно запроса (рис. 5.8) введите значение месяца (например, 5).
Рис.5.8. Диалоговое окно ввода параметров запроса |
![]() |