- •Создание запросов в субд Access 2002
- •Текст печатается в авторской редакции Создание запросов в среде Access
- •1. Цель работы
- •2. Окно конструктора запросов
- •3. Построение условий для выбора записей
- •4. Упорядочение данных и группировка полей запроса
- •5. Общие сведения о команде select
- •6. Интерактивные и перекрестные запросы
- •7. Запросы на изменение
- •7.1. Виды запросов на изменение. Их использование
- •7.2. Запрос на создание таблицы
- •7.3. Запрос на обновление
- •7.4. Запрос на добавление записей
- •7.5. Запрос на удаление записей
- •8. Порядок выполнения работы
- •9. Контрольные вопросы и задания
6. Интерактивные и перекрестные запросы
При использовании стандартных СУБД достаточно часто, если не всегда, пользователь сам определяет критерий выборки, по которому осуществляется поиск. Запросы с интерактивным вводом значений параметров выборки являются более гибкими, т.к. не требуют доработки запроса в режиме конструктора при изменении параметров.
Ниже представлена модификация Запроса 4, в которой в качестве условия отбора записей указано предложение [введите наименование товара]. При выполнении такого запроса с параметром Access сначала предлагает ввести наименование товара во всплывающем окне, результат выборки распространяется только на записи, соответствующие введенному значению параметра (рис. 14).
Рис. 14. Пример выполнения запроса с параметрами
Для варианта запроса с несколькими запрашиваемыми параметрами порядок ввода параметров определяется порядком следования полей с параметрами запроса. Порядок ввода параметров может быть изменен с помощью команды основного меню Запрос Параметры, либо из строки Параметры контекстного меню. На рисунке 15 представлен пример запроса с двумя запрашиваемыми параметрами.
Рис.15. Пример запроса с двумя параметрами ввода
Перекрестный запрос – выборка данных, записанная в виде двумерной матрицы, созданной их таблиц Access. Этот запрос представляет определенные данные из выбранных полей в формате, похожем на формат электронной таблицы. Это специальный тип группового запроса, для которого строка Групповая операция (Total) всегда включена.
Для создания перекрестного запроса необходимо указать:
Поле заголовков строк.
Поле заголовков столбцов.
Поле для подсчета итоговых значений на пересечении строк и столбцов.
Для создания перекрестного запроса необходимо определить необходимые поля в режиме Конструктора, а затем перейти в режим Перекрестный запрос. Переход к созданию перекрестного запроса может выполняться как из основного меню (команда Запрос Перекрестный), так и из контекстного меню окна Конструктора запросов (строка Перекрестный).
Пример простого перекрестного запроса представлен на рисунке 16. На пересечении строк и столбцов выводится суммарное количество единиц купленного товара каждым из клиентов.
Рис.16. Пример перекрестного запроса
Для перекрестных запросов допускается использовать несколько заголовков строк, а также определять критерии для выборки данных в итоговую выборку. В частности в представленном ниже примере (рис. 17) в качестве условия отбора использовано два поля для заголовка строк и дополнительное вычисляемое с помощью выражения поле, которое задает критерий отбора записей.
Критерий отбора может быть определен и в поле заголовка строк, а также в новом поле, значение которого не отражается в итоговой таблице (рис. 18).
Для быстрого создания простых однотабличных перекрестных запросов без условий отбора и вычисляемых полей может использоваться Мастер перекрестного запроса.
Рис.17. Перекрестный запрос с критерием отбора
Рис. 18. Перекрестный запрос с двумя критериями отбора