Создание запроса из фильтра

Один из способов создания запроса в Microsoft Access — это сохранение фильтра в виде запроса. Фильтр позволяет временно отобрать нужные записи в таблице, но если он сложный и используется часто, его удобнее сохранить как постоянный объект базы данных.

Для этого достаточно нажать кнопку Сохранить как запрос (Save as query) на панели инструментов при открытом окне Фильтр (Filter by Form).

Преобразование фильтра в запрос

Рассмотрим процесс на примере отбора клиентов, занимающих должность "Менеджер по продажам" (Sales Manager).

  1. Откройте таблицу "Клиенты" (Customers) в режиме Таблицы.
  2. Нажмите кнопку Изменить фильтр (Filter by Form) на панели инструментов.
  3. Выберите из списка в поле Должность (ContactTitle) значение "Менеджер по продажам" (Sales Manager).
  4. Проверьте, как работает фильтр, нажав кнопку Применение фильтра (Apply Filter).
  5. После проверки нажмите кнопку Изменить фильтр ещё раз, чтобы вернуться в окно редактирования.
  6. Нажмите кнопку Сохранить как запрос (Save As Query) на панели инструментов или выполните команду Файл → Сохранить как запрос (File → Save As Query).
  7. Введите имя запроса "Менеджеры по продажам" и нажмите ОК (рис. 4.34).

Сохранение фильтра в виде запроса

Рис. 4.34. Сохранение фильтра в виде запроса

Использование сохранённого фильтра

Сохранённый фильтр можно применять двумя способами:

Применение сохранённого фильтра

  1. Откройте таблицу "Клиенты" (Customers).
  2. Нажмите кнопку Изменить фильтр (Filter by Form).
  3. Нажмите кнопку Загрузить из запроса (Load from Query).

Откроется диалоговое окно Применяемый фильтр (рис. 4.35), где можно выбрать нужный фильтр и применить его.

Диалоговое окно Применяемый фильтр

Рис. 4.35. Диалоговое окно Применяемый фильтр

Замечание

В списке фильтров отображаются только те, которые были сохранены как запросы. Другие запросы не отображаются.

Выполнение сохранённого запроса

Сохранённый фильтр также можно использовать, выполняя его как обычный запрос.

  1. Откройте окно База данных (Database) и перейдите на вкладку Запросы (Queries).
  2. Найдите запрос "Менеджеры по продажам" и откройте его в режиме Таблицы (Datasheet View), нажав кнопку Открыть (Open).

Результат будет таким же, как при применении фильтра к таблице.

Просмотр SQL-запроса

Чтобы увидеть SQL-инструкцию, соответствующую запросу:

  1. Переключитесь в режим Конструктора (Design View).
  2. Нажмите Вид → Режим SQL (View → SQL View).

Откроется окно с SQL-кодом, содержащим условия отбора (рис. 4.37).

SELECT * FROM Клиенты WHERE (((Клиенты.Должность)="Менеджер по продажам"));

Символ * означает, что выбираются все поля из таблицы "Клиенты".

Запрос Менеджеры по продажам в режиме SQL

Рис. 4.37. Запрос "Менеджеры по продажам" в режиме SQL

Использование расширенного фильтра

Если требуется задать сложные критерии отбора и сортировки, можно использовать расширенный фильтр.

  1. Откройте таблицу "Заказы" (Orders).
  2. Выберите значение "Воронова, Дарья" в поле Сотрудник и нажмите кнопку Фильтр по выделенному (Filter by Selection).
  3. Переключитесь в режим Расширенный фильтр (Advanced Filter/Sort).

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

Окно расширенного фильтра

Рис. 4.38. Окно расширенного фильтра

Заключение

Фильтры в Access позволяют быстро отбирать данные в таблицах. Однако их удобнее использовать в виде сохранённых запросов, так как они дают больше возможностей, включая SQL-редактирование и интеграцию в отчёты и формы.