СУБД Microsoft Access 2007


Практическая работа 7. Создание запросов различного типа. Запрос на выборку. Запрос с параметром. Перекрестный запрос. Итоговый запрос.

Запросы – служат для выбора записей, обновления таблиц и включения в них новых записей. Чаще всего запросы применяют для выбора конкретных групп записей, удовлетворяющих заданному условию. Кроме того, запросы позволяют комбинировать информацию, содержащуюся в различных таблицах, обеспечивая связанным элементам данных таблиц унифицированный вид.

Использование мастера простых запросов.

Согласно своему названию, этот мастер способен создавать только очень простые запросы на выборку данных и используется поэтому в основном обычными пользователями – непрофессионалами.

Простые запросы отличаются от других типов запросов тем, что при их создании:

  • Нельзя добавлять критерии выбора в запрос или определять порядок сортировки запроса
  • Нельзя изменять порядок полей в запросе; поля всегда отображаются в том порядке, в каком они были выбраны в первом окне мастера
  • Если одно или несколько полей являются числовыми, то мастер позволяет создать суммарный запрос, представляющий сумму, среднее, минимальное или максимальное значение цифрового поля (полей). В набор результатов запроса можно включить также подсчет количества записей.
  • Если одно или несколько полей имеют тип Date/Time, то можно задать итоговый запрос, осуществляющий группирование данных по диапазону – дню, месяцу, кварталу, году.

Использование конструктора запросов.

Возможности мастера простого запроса достаточно ограничены. Лучший подход состоит в том, чтобы использовать графическое окно конструктора запроса, называемое также бланком запроса. Это одно из наиболее мощных средств Access.

Добавляя и удаляя таблицы в верхней части бланка, перемещая необходимые для выборки поля в нижнюю часть, изменяя, если необходимо, связи между таблицами, мы фактически формируем текст запроса на языке SQL.

Нажав кнопку Выполнить , мы увидим результат выполнения сформированного запроса.

Типы запросов. В Access возможно создание 4-х основных типов запросов:

Запросы на выборку - извлекают данные из одной или нескольких таблиц. Перекрестные запросы - суммируют данные из одной или нескольких таблиц БД в форме электронной таблицы. Эти запросы полезны для анализа данных и создания графиков и диаграмм, основанных на сумме значений числовых полей многих записей.

Запросы на изменение - эти запросы создают новые таблицы базы данных или вносят в таблицы значительные изменения. Такие запросы позволяют добавлять в таблицу новые записи или удалять их, вносить изменения в записи с помощью выражений, встроенных в конструкцию запроса.

Запросы с параметрами – повторно применяют существующие запросы, внося незначительные изменения в их условия отбора. После выполнения запроса с параметрами Access отображает диалоговое окно, предлагающее пользователю внести новое условие отбора. Функции запросов с параметрами можно добавить к остальным 3-м типам запросов.

Оптимизация запросов. Задание точных критериев позволяет минимизировать число строк, пересылаемых через сеть. Например, можно выбирать заказы только текущего месяца. Можно создать отдельные запросы «последний месяц», «этот квартал», «последний квартал» для пользователей, нуждающихся в «исторических» данных. В первоначальный запрос целесообразно включать только те поля, которые необходимы для представления самых основных сведений.

Не следует включать в первоначальные запросы поля типа OLE Object и MEMO.

Задание

  1. Откройте базу данных Продажа товаров.
  2. Создайте простой запрос с помощью Конструктора, содержащий поля Дата и Кол-во из таблицы ОПЕРАЦИИ, поле Наименование из таблицы ТОВАРЫ. Сохраните его под именем Товар по датам.
  3. Создайте простой запрос с помощью мастера на основе таблицы ОПЕРАЦИИ. Из таблицы операции отберите поля Дата, Цена, Кол-во, Сумма, Форма оплаты. Назовите запрос Операции по датам.
  4. На основе запроса Операции по датам создайте итоговый запрос Кол-во по датам, в котором отобразите количество проданного товара за каждый день операции. На основе запроса Операции по датам создайте итоговый запрос Средний приход по датам, в котором отобразите среднее значение суммы от продажи товара за каждый день операции.
  5. Создайте запрос на выборку на основе таблицы ЗАКАЗЧИКИ. Отберите информацию о заказчиках в лице средне-образовательных школ и детских садов. На экран выведите поля Заказчик, Адрес и Телефон. Сохраните запрос под именем Заказчики_школы_детсады. Создайте запрос на выборку на основе таблицы ОПЕРАЦИИ.
  6. Отберите все операции за март. Выведите на экран поля Дата и Кол-во из таблицы ОПЕРАЦИИ, Наименование из таблицы ТОВАРЫ. Сохраните запрос под именем Операции_март.
  7. Создайте перекрестный запрос на основе запроса Товар по датам. В результате выполнения запроса на экране должна появляться информации о среднем количестве товара за каждый день операции (рисунок 3.7). Сохраните запрос под именем Среднее по датам

    Рисунок 3.7 − Перекрестный запрос «Среднее по датам»

  8. Создайте запрос с параметром, позволяющий отбирать информацию о продаже товаров, название которых пользователь может задать сам при запуске запроса. После запуска запроса должно появляться окно с текстом «Введите название проданного товара». В качестве полей запроса выберите Наименование и Ед.изм. из таблицы ТОВАРЫ, и поля Дата, Кол_во, Ф_опл из таблицы ОПЕРАЦИИ. Сохраните запрос под именем Выбор товара.
  9. Рисунок 3.8 − Ввод значения параметра

    Рисунок 3.9 – Вывод результата

Контрольные вопросы

  1. Что такое запрос?
  2. Какие существуют типы запросов?
  3. Чем отличается использование Мастера от использования Конструктора формировании запроса?
  4. Что такое запрос на выборку?
  5. Что такое перекрестный запрос?