Добавление сортировки по нескольким столбцам и составного критерия отбора

Чтобы создать расширенный фильтр или расширенную сортировку, выбе­рите команду "Записи, Фильтр, Расширенный фильтр" На панели инструментов нет кнопки, эквивалентной этой команде. Чтобы создать фильтр для таблицы "Заказы" демонстраци­онной базы данных Борей:

1. Откройте таблицу "Заказы" в режиме таблицы.

2. Выберите команду "Записи, Фильтр, Расширенный фильтр". Появится окно расширенного фильтра (рис.18). По умолчанию фильтру при­сваивается имя "Фильтр!", а в качестве префикса используется имя таблицы. Поэтому наш фильтр получит имя "ЗаказыФильтр1". В нижней части окна расширенного фильтра появляется бланк фильтра, в котором можно указать критерий отбора.

3. Чтобы отсортировать значения поля таблицы или задать для него кри­терий отбора, перетащите его из списка полей таблицы, который на­ходится в верхней части окна расширенного фильтра в бланк фильтра. Например, чтобы задать параметры сортировки или критерий отбора для поля "КодЗаказа", перетащите его в первую ячейку строки "Поле" (Field) бланка таблицы. При перетаскивании имени поля из списка в верхней части окна расширенного фильтра в бланк фильтра, указатель мыши превращается в символ поля.

4. Повторите шаг 3 для всех полей таблицы, для которых необходимо определить критерий отбора или параметры сортировки. Для таблицы "Заказы" такими полями могут быть, например, поля "КодКлиента", "АдресПолучателя", "СтранаПолучателя", "ИндексПолучателя".

5. Установите параметры сортировки значений полей "СтранаПолуча­тёля" и "ИндексПолучателя", чтобы проверить возможности расши­ренной сортировки (рис.19).

Рис. 19. Установка параметров расширенной сортировки

6. Выберите команду "Фильтр, Применить фильтр" или нажмите кнопку "Применить фильтр" на панели инструментов.

7. Таблица будет отсортирована по значениям полей "Страна получателя" и "Индекс получателя"

Рис. 20. Таблица "Заказы" после применения расширенной сортировки

8. Выберите команду "Записи, Фильтр, Расширенный фильтр", чтобы от­крыть окно расширенного фильтра. Заметьте, что в бланке расширен­ного фильтра сохранились все установки, сделанные ранее.

9. Чтобы произвести отбор записей, относящихся к заказам, в которых страной-получателем является США, введите в ячейку, находящуюся на пересечении строки "Условие отбора" и столбца "Страна получате­ля", слово США. Нажмите клавишу <Enter>. Access автоматически заключит введенную строку в кавычки.

10. Чтобы применить расширенный фильтр, выберите команду "Фильтр, Применить фильтр". В окне таблицы появятся только те записи, кото­рые относятся к отправке товаров в США (рис.21)

Рис. 21. Отбор заказов клиентов из США

 

Использование сложных критериев отбора.
Access позволяет определять сложные критерии отбора записей из таб­лиц при помощи расширенного фильтра. Сложные критерии отбора помо­гают производить фильтрацию записей таблицы данных по значениям нескольких полей. Например, чтобы вывести в окне таблицы все заказы из стран Северной Америки, полученные не ранее 01/01/94:

1. Выберите команду "Записи, Фильтр, Расширенный фильтр". Появится окно расширенного фильтра.

2. Введите Канада в качестве второго критерия отбора для поля "СтранаПолучателя", нажмите клавишу <Enter>, а затем введите Мек­сика в качестве третьего критерия. При добавлении нескольких крите­риев отбора для одного поля они группируются при помощи операто­ра "ИЛИ". Это эквивалентно использованию оператора or языка SQL.

3. Введите >=#l/l/94# в качестве первого критерия отбора для поля "ДатаРазмешения". Если в одной строке бланка фильтра определено несколько критериев отбора, то они группируются при помощи опера­тора "И". Это эквивалентно использованию оператора and языка SQL. Таким образом, первую строку критериев отбора можно интерпрети­ровать так: отобрать все заказы из США, поступившие не ранее 01/01/94. Символы # указывают на то, что значение, заключенное в них, имеет тип "Дата/Время".

4. Нажмите клавишу <F2>, чтобы выделить критерий отбора, определен­ный на шаге 3, нажмите комбинацию клавиш <Ctrl>+<С>, чтобы скопировать выделенный фрагмент в Буфер обмена Windows. Пере­местите точку вставки в следующую ячейку столбца "ДатаРазмешения" и нажмите комбинацию клавиш <Ctrl>+<V>. Теперь при фильтрации таблицы будет учитываться ограничение по времени поступления зака­зов из Канады. Повторите шаг 4, чтобы добавить ограничение по вре­мени для заказов из Мексики. Бланк фильтра примет вид, показанный на рис.22. Необходимость повторения определения условия по вре­мени для каждой страны вызвана ограничениями, накладываемыми на формирование запросов с помощью бланков.

Рис. 22. Определение сложного критерия отбора в бланке фильтра

5. Нажмите кнопку "Применить фильтр" на панели инструментов. Таб­лица "Запросы" будет отфильтрована с использованием сложного кри­терия отбора (рис. 6.23).

Результат фильтрации таблицы в приведенном примере аналогичен ре­зультату выполнения следующей инструкции языка SQL:

SELECT * FROM Orders

WHERE ([Ship Country] = 'USA'

OR [Ship Country] = 'Canada'

OR [Ship Country] = 'Mexico')

AND [Order Date] >= #1/1/94#

ORDER BY [Ship Country], [Ship Postal Code]

Рис. 6.23. Результат применения сложного критерия отбора

С помощью конструкции in инструкция SQL может быть еще более упрощена:

SELECT * FROM Orders

WHERE [Ship Country] IN ('USA', 'Canada', 'Mexico')

AND [Order Date] >= #1/1/94#

ORDER BY [Ship Country], [Ship Postal Code]1

Ни одна из вышеприведенных оптимизированных инструкций SQL не может быть сгенерирована Access автоматически из бланка фильтра.

Это ограничение объясняется тем, что хотя бланк фильтра является универсальным сред­ством задания условия фильтрации, он позволяет задавать условия только в определенной форме, а именно в так называемой дизъюнктивной нормальной форме.








Дата добавления: 2014-12-12; просмотров: 977;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.