Применение фильтра
Фильтром называется набор условий, применяемых для отбора или сортировки данных. Применение фильтра позволяет ограничить количество просматриваемых записей и отобрать только те записи, которые удовлетворяют заданным условиям. Фильтры не сохраняются после закрытия таблицы или формы, поэтому их приходится создавать заново после открытия таблицы или формы.
Для проведения отбора по определенным условиям укажите таблицу или форму и поле, по которому будет производиться фильтрация записей. Например, вас могут интересовать сотрудники фирмы, проработавшие в ней 5 лет. В Access поддерживаются различные способы отбора записей с помощью фильтров. Ниже рассмотрены два способа фильтрации: фильтр по выделенному фрагменту и расширенный фильтр.
Фильтр по выявленному фрагменту
В некоторых случаях нам надо найти в базе данных только те записи, которые содержат выделенное значение и служит образцом для отбора. Например,, существует большая таблица с данными об автомобилях. Выделим в таблице поле 2109 в столбце Машины ВАЗ. При фильтрации по выделенному в таблице фрагменту останутся только записи о ВАЗ 2109.
С помощью фильтра можно также отобрать те записи, которые в данном поле не содержат выделенное значение. Для создания фильтра выделите значение, щелкните его правой кнопкой мыши и выберите команду Исключить выделенное (Filter Excluding Selection). Применительно к рассмотренному выше примеру после проведения фильтрации с исключением выделенного в столбце Машины ВАЗ отобразятся записи обо всех моделях ВАЗ, за исключением ВАЗ 2109.
Команда Фильтр для (Filter for) позволяет ввести значение или выражение, которое будет служить критерием фильтрации при поиске. Для выполнения процесса фильтрации выберите в меню Записи (Records) команду Применить фильтр (Apply Filter, Sort) или нажмите кнопку Применить фильтр (Apply Filter) на панели инструментов.
Расширенный фильтр
На экране отобразится окно, рассмотренное в предыдущем разделе "Применение сортировки". В ячейку Условия отбора (Criteria) введите критерии, по которым будет производиться фильтрация. В качестве критерия можно использовать различные текстовые значения, например, Or, если вы хотите отобразить заказы стоимостью больше 1500 рублей (рис. 24.18), операторы равно "=", больше ">", меньше"<", не равно "0", даты, например, вы можете выбрать заказы, полученные на последний день каждого месяца.
Для поиска записей, имеющих в конкретном поле пустые или непустые значения, введите в это поле выражение Is Null или Is Not Null. (Эти значения можно выбрать из списка в полях, имеющих тип "поле MEMO", "поле объекта OLE" или "Гиперссылка", и в вычисляемых полях в запросах.)
Рис. 24.18. Окно, позволяющее выполнить фильтрацию с определенным условием отбора
Для выполнения фильтрации выберите команду Применить фильтр (Apply Filter) в меню Записи (Records). Фильтры сохраняются автоматически при сохранении таблицы или формы. Таким образом, при повторном открытии таблицы или формы можно снова применить сохраненный фильтр. При сохранении запроса фильтр сохраняется автоматически, но условие фильтра не добавляется к содержимому бланка запроса. При повторном открытии запроса можно снова применить сохраненный фильтр. После окончания работы с фильтром для отображения всей таблицы выберите в меню Записи (Records) команду Удалить фильтр (Remove Filter, Sort) или выключить на панели инструментов кнопку Применить фильтр (Apply Filter).
Упражнения
- В окне учебной базы данных Борей выберите таблицу Клиенты и проведите фильтрацию по выделенному значению в поле Должность. Упражнение можно выполнить следующим образом:
- в окне базы данных на вертикально расположенной панели Объекты (Objects) выделите значок Таблицы (Tables) (см. рис. 24.1), в списке таблиц дважды щелкните Клиенты и просмотрите данные по клиентам;
- выберите в меню Вид (View) команду Режим таблицы (Datasheet View);
- с помощью горизонтальной полосы прокрутки перейдите к полю Должность и выделите в нем значение Бухгалтер;
- выделите в меню Записи (Records) команду Фильтр (Filter), Фильтр по выделенному (Filter by Selection).
- В окне учебной базы данных Борей проведите сортировку записей по полю Город. Упражнение можно выполнить следующим образом:
- в окне базы данных на вертикально расположенной панели Объекты (Objects) выделите значок Таблицы (см. рис. 24.1), в списке таблиц дважды щелкните Клиенты;
- выделите столбец Город, щелчком мыши в области выделения столбца. Обратите внимание, что когда указатель мыши находится в области выделения столбца, он принимает вид жирной стрелки, направленной вниз;
- на панели инструментов нажмите кнопку Сортировать по возрастанию (Sort Ascending).
Выводы
- Для просмотра результатов запроса в окне базы данных на вертикально расположенной панели Объекты (Objects) выберите значок Запросы (Queries) и дважды щелкните имя запроса в списке (см. рис. 24.1).
- Любые изменения в запрос следует вносить в режиме конструктора. Чтобы создать запрос в режиме конструктора на вертикально расположенной панели Объекты (Objects) выберите значок Запросы (Queries) (см. рис. 24.1) и нажмите кнопку Создать (New) на панели инструментов.
- Для расширения условий отбора можно использовать строку или (or) в бланке запроса.
- При составлении запроса с использованием вычисляемого поля введите в ячейку Поле бланка запроса имя столбца, в котором будут представлены результаты вычислений, и после двоеточия выражение в квадратных скобках.
- Для упрощения процесса добавления в запрос функций, констант, операторов и общих выражений можно использовать Построитель выражений (Expression Builder).
- Для изменения группы записей с помощью запроса на обновление откройте запрос в режиме конструктора (см. выше раздел "Создание и запуск запроса") и выберите в меню Запрос (Query) команду Обновление (Update Query) или нажмите стрелку рядом с кнопкой Тип запроса на панели инструментов и выберите команду Обновление.
- Для поиска значения в поле выберите команды Найти (Find) в меню Правка (Edit) (см. рис. 24.14). Для ускорения поиска поставьте курсор в поле, по которому будет проводиться поиск. Нажмите кнопку Найти далее (Find Next).
- Для создания сложных фильтров выберите в меню Записи (Records) команду Фильтр (Filter), Расширенный фильтр (Advanced Filter/Sort).