Создание запроса из фильтра
Рис. 4.37. Запрос "Менеджеры по продажам" в режиме SQL
В виде запроса можно также сохранить так называемый Расширенный фильтр. Расширенный фильтр используется в том случае, если требуется задать сложные критерии отбора и сортировки записей. Чтобы создать расширенный фильтр для открытой таблицы, необходимо выполнить команду Записи › Фильтр › Расширенный фильтр (Records › Filter › Advanced Filter/Sort). При этом появляется окно расширенного фильтра, которое очень напоминает окно Конструктора запроса. На рис. 4.38 представлено окно расширенного фильтра для таблицы "Заказы" (Orders). Чтобы создать такой фильтр, мы выполнили следующие действия:
- Открыли в режиме Таблицы таблицу "Заказы" (Orders).
- Выделили в поле Сотрудник значение "Воронова, Дарья" и нажали кнопку Фильтр по выделенному (Filter by Selection) на панели инструментов, отфильтровав таким образом заказы, обработанные конкретным сотрудником.
- Выполнили команду Записи › Фильтр › Расширенный фильтр (Records › Filter › Advanced Filter/Sort).
- Перенесли в бланк фильтра два поля: ДатаРазмещения (OrderedDate) и НазваниеПолучателя (ShipName).
- Для поля ДатаРазмещения (OrderedDate) указали критерий выборки Between #01.03.98# And 131.06. 981, означающий, что отбираться будут только заказы, поступившие во втором квартале 1998 года.
- Определили порядок сортировки записей таким образом, что сначала будут сортироваться заказы по дате размещения, а в пределах одной даты – по наименованиям клиентов (в алфавитном порядке).
Рис. 4.38. Окно расширенного фильтра
Окно расширенного фильтра действительно очень похоже на окно Конструктора запросов, однако панель инструментов очень сильно отличается от панели инструментов Конструктора запросов. Например, нельзя добавить еще одну таблицу (расширенный фильтр строится только для одной таблицы – в данном примере вторая таблица отображает поле подстановки) или выполнить группировку записей. На панели инструментов есть только две важные кнопки: Применение фильтра (Apply filter) и Сохранить как запрос (Save as query). В бланке фильтра отсутствует строка, содержащая флажки включения поля в запрос. Это означает, что фильтр не влияет на состав столбцов в результирующей таблице – всегда отображаются все столбцы, фильтруются только записи. Однако критерии отбора записей могут быть установлены сколь угодно сложные. Задаются они по тем же правилам, что и в запросах.