ЗАПРОСЫ – предназначены для отбора данных, удовлетворяющих заданным критериям (например, данные о клиентах проживающих в определенном регионе, данные о торговых операциях за какой – то период).
Результатом выполнения запроса является набор записей, собранных в таблице. В Access запросы делятся на QBE – запросы (Query by Example – запрос по образцу) и SQL[1] – запросы (Structured Query Language – структурированный язык запросов), при создании которых применяются операторы и функции языка SQL.
Разберем несколько примеров:
Запросы на выборку
Запрос 1.Выбрать сведения о клиентах, проживающих в Бресте и заказавших автомобиль марки Citroen после 01.05.08. В результате запроса вывести поля ФИО, Модель, Адрес, Дата_заказа. Использовать таблицы Клиенты и Модели.
Построим QBE – запрос. Для этого в окне БД активизируем вкладку ЗАПРОСЫ и выполним щелчок по СОЗДАНИЕ В РЕЖИМЕ КОНСТРУКТОРА. В результате появится пустое окно конструктора запросов и диалоговое окно Добавление таблицы. Выделите таблицу Клиенты и выполните щелчок на кнопке ДОБАВИТЬ. Затем выделите таблицу Модели и снова выполните щелчок на кнопке Добавить. Закройте окно, щелкнув на кнопке ЗАКРЫТЬ. Имена таблиц появятся в окне проектирования запроса.
Окно конструктора запроса разделено на две части. В верхней части находятся таблицы со списками полей. Между полями Код_модели обеих таблиц проведена линия, определяющая связь между таблицами.
Разработка запроса выполняется в несколько этапов:
· Добавление полей в запрос
· Установка критериев отбора записей
· Сортировка записей
Добавить нужные поля в бланк запроса можно путем перетаскивания их имен из списка, находящегося в верхней части окна конструктора в строку Поле бланка. Другой способ – двойной щелчок на имени поля.
Из таблицыКлиенты выберите одним из предложенных способов поляФИО, Адрес, Дата_заказа,из таблицыМодели –полеМодель. Теперь необходимо ввести критерии отбора. Формируемый в данном примере запрос должен отбирать данные о клиентах из Бреста, заказавших после 01.05.08 г. автомобиль марки Citroen. Поэтому для перечисленных ниже полей установим в строке Условие отборатакие критерии:
Адрес =Брест
Модель =Citroen
Дата_заказа >01.05.08
Для этого встать в строку Условие отбора,в столбецАдрес,набрать= Брест.После ввода каждого критерия следует нажимать клавишу <Enter>, вследствие чего Access проверит его синтаксис и нормализует запись в соответствии с правилами записи критериев.
Аналогично ввести другие критерии.
Чтобы отсортировать фамилии клиентов в алфавитном порядке, в строке Сортировка поля ФИО выполните щелчок и в появившемся списке выберите способ сортировки по возрастанию.
Для получения результатов по запросу необходимо выполнить его запуск (ЗАПРОС-ЗАПУСК), или щелкнуть по кнопке ЗАПУСК . После этого формируется результирующая таблица, которую можно сохранить под именем (автоматически присваивается имя Запрос1). Для того, чтобы вернуться из результирующей таблицы в режим создания запроса, следует выполнить команду ВИД-КОНСТРУКТОР, или, нажав правую кнопку мыши, в контекстном меню выбрать КОНСТРУКТОР ЗАПРОСОВ.
Запрос 2. Определить максимальную и среднюю сумму заказа, выполненную каждым продавцом. В результате запроса вывести поля №_продавца. Вычисляемым полям присвоить собственные имена: Максимальная, Средняя(дописать в строку Поле слова Максимальная:и Средняя:). Использовать таблицы КлиентыиПродавцы. После вызова окна конструктора запросов и выполнения всех описанных выше действий необходимо в соответствующих полях задать статические функции Max и Avg (Максимум и Среднее). Статистические функции задают в строке Групповые операции окна конструктора запросов. Для того чтобы появилась эта строка, нажмите кнопку с греческой литерой сигма на панели инструментов. Собственные имена полей (Максимальная, Средняя) нужно ввести в строку Поле конструктора запросов (что при этом задать в имени поля, см. рисунок ниже):
Запрос с параметром
Запрос 3.Определить среднюю сумму заказа по каждому городу, название города вводить в режиме диалога Использовать таблицу Клиенты.
Оформите бланк конструктора запросов как показано на рисунке, в строку Условие отбора в квадратных скобках наберите [введите город], нажмите ENTER. Запустите запрос на выполнение. Перед тем как выполнить запрос, пользователю необходимо будет вводить город, по которому необходимо найти сумму среднего заказа.