Відбір і сортування записів за допомогою запитів, страница 12

Рис. 1.34. Збереження фільтра у вигляді запиту

Збережений фільтр може бути легко використаний надалі, причому двома способами.

  • Можна, знову відкривши таблицю "Клієнти" (Customers), установити збережений фільтр. Для цього потрібно спочатку відкрити вікно визначення фільтра, нажавши кнопку Змінити фільтр (Filter by form). Потім нажати кнопку Завантажити із запиту (Load from Query) на панелі інструментів або виконати команду Файл, Завантажити із запиту (File, Load from Query). При цьому з'явиться діалогове вікно Застосовуваний фільтр (Applicable Filter) (мал. 1.35), у якому потрібно виділити в списку необхідний фільтр і нажати кнопку ОК або просто двічі клацнути лівою кнопкою миші за назвою фільтра. Щоб застосувати фільтр, потрібно нажати кнопку Застосування фільтра (Apply filter) на панелі інструментів.

Рис. 1.35. Діалогове вікно Застосовуваний фільтр

Зауваження

Зверніть увагу, що в списку фільтрів не присутні інші запити, а є присутнім тільки фільтр, збережений як запит.

  • Виконати запит "Менеджери по продажах". Для цього потрібно розкрити список запитів у вікні бази даних, знайти запит "Менеджери по продажах" і відкрити його в режимі Таблиці, нажавши кнопку Відкрити (Open). Ви одержите той же результат, що й у першому випадку, коли застосовується фільтр до відкритої таблиці. Коли запит відкритий у режимі Таблиці або застосований фільтр до таблиці, натисніть кнопку Вид, Конструктор (View, Design view) на панелі інструментів. З'явиться вікно Конструктора запиту, у якому відображається запит, що відповідає фільтру (мал. 1.36).

Зверніть увагу, що хоча в режимі Таблиці запит відображав всі стовпці вихідної таблиці, у бланку запиту зазначений тільки один стовпець "Посада" (ContactTitle), що містить умову відбору, і той не включений у результат запиту. Щоб зрозуміти, чому так відбувається, відкрийте запит у режимі SQL. Для цього потрібно нажати кнопку Вид, Режим SQL (View, SQL View). З'явиться діалогове вікно, що містить інструкцію мови SQL, що і обробляється при виконанні запиту (мал. 1.37). Ця інструкція має вигляд:

SELECT *

FROM Клієнти

WHERE (((Клієнти.Посада)= "Менеджер по продажах"));

Значок * означає, що вибираються всі поля з таблиці "Клієнти".

Рис. 1.36. Запит "Менеджери по продажах" у режимі Конструктора

Рис. 1.37. Запит "Менеджери по продажах" у режимі SQL

У вигляді запиту можна також зберегти так званий розширений фільтр. Розширений фільтр використовується в тому випадку, якщо потрібно задати складні критерії відбору й сортування записів. Щоб створити розширений фільтр для відкритої таблиці, необхідно виконати команду Запису, Фільтр, Розширений фільтр (Records, Filter, Advanced Filter/Sort). При цьому з'являється вікно розширеного фільтра, що дуже нагадує вікно Конструктора запиту. На мал. 1.38 представлене вікно розширеного фільтра для таблиці "Замовлення" (Orders). Щоб створити такий фільтр, ми виконали наступні дії:

  1. Відкрили в режимі Таблиці таблицю "Замовлення" (Orders).
  2. Виділили в поле Співробітник значення "Воронова, Дар'я" і нажали кнопку Фільтр по виділеному (Filter by Selection) на панелі інструментів, відфільтрувавши у такий спосіб замовлення, оброблені конкретним співробітником.
  3. Виконали команду Запису, Фільтр, Розширений фільтр (Records, Filter, Advanced Filter/Sort).
  4. Перенесли в бланк фільтра два поля: ДатаРазмещения (OrderedDate) і НазваниеПолучателя (ShipName).
  5. Для поля ДатаРазмещения (OrderedDate) указали критерій вибірки Between #01.03.98# And 131.06. 981, що означає, що відбиратися будуть тільки замовлення, що надійшли в другому кварталі 1998 року.
  6. Визначили порядок сортування записів таким чином, що спочатку будуть сортуватися замовлення по даті розміщення, а в межах однієї дати - по найменуваннях клієнтів (за абеткою).