Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MS Access 2007 - Лабораторные.doc
Скачиваний:
104
Добавлен:
02.05.2015
Размер:
5.08 Mб
Скачать

4. Группировка в запросах. Определение пяти самых дорогих товаров.

Access имеет множество встроенных функций. Некоторые из них называются функциями обобщения, поскольку работают с группами строк, а не с отдельными строками. Нужную функцию можно задать, набрав на клавиатуре её имя в строке «Групповая операция», или выбрав её из раскрывающегося списка.

Основные функции обобщения (групповые операции):

  • SUM - вычисляет сумму всех значений заданного поля (для числовых полей), отобранных запросом;

  • AVG - вычисляет среднее значение среди записей, отобранных запросом (для числовых и денежных типов данных);

  • MIN, MAX - выбирает, соответственно, минимальное и максимальное значение в записях поля, отобранных запросом;

  • COUNT - вычисляет количество записей, имеющих ненулевое значение и отобранных запросом;

  • FIRST, LAST - определяет, соответственно, первое и последнее значение в указанном поле записей.

4.1. Создайте запрос в режиме Конструктора по таблице «Товары». В нижнюю панель окна выберите поля «Марка» и «Цена».

4.2. На вкладке Конструктор в разделе Показать или скрыть выберите кнопку Итоги. В появившейся строке Групповые операции в поле «Цена» выберите Мах, а в строке Сортировка - По убыванию.

4.3. Щелкните правой кнопкой мыши по пустому месту в окне Конструктор и в контекстном меню выберите Свойства. В окне Свойства запроса в строке Вывод всех полей выберите Нет (рис.17). В строке Набор значений из раскрывающегося списка выберите 5.

Рис. 17. Окно свойств запроса.

4.4. Закройте окно свойств запроса. Выполните запрос и сохраните его под именем «Самые дорогие товары».

5. Многотабличный запрос. Построение запроса на основе уже имеющегося запроса.

Для того, чтобы ответить на вопрос: "Сколько заказов и на какую сумму разместил каждый клиент?" необходимо построить многотабличный запрос.

5.1. Создайте запрос "Сведения о заказах", добавив в окно Конструктора таблицы «Заказано» и «Товары». Из таблицы «Заказано» выберите поле «КодЗаказа», поля «Марка» и «Цена» из таблицы «Товары», поля «Количество» и «Скидки» - из таблицы «Заказано».

5.2. В следующее поле (пустое) введите выражение CCur([Товары]![Цена]* [Заказано]![Количество]*(1-[Заказано]![Скидка])/100)*100. Нажав клавиши Shift+F2 в окне Область ввода вместо Выражение 1: введите ОтпускнаяЦена.

5.3. Щелкните правой кнопкой по пустому полю следующего столбца и в открывшемся меню выберите Свойства. В строке «Вывод всех полей» выберите значение Нет. Запустите запрос и сохраните его под именем «Сведения о заказах».

5.4. Создайте новый запрос и добавьте в него таблицы «Клиенты», «Заказы» и запрос «Сведения о заказах».

5.5. Перетащите в бланк заказа поле «Название» из таблицы «Клиенты», поле «КодЗаказа» из таблицы «Заказы», а затем дважды выберите поле «Отпускная цена» из запроса «Сведения о заказах».

5.6. Нажмите кнопку Итоги на ленте инструментов. В бланк запроса добавляется строка «Групповая операция», содержащая по умолчанию в каждой ячейке операцию Группировка.

5.7. В строке «Групповая операция» задайте необходимые статистические функции. Для поля «Название» оставьте значение Группировка, для поля «КодЗаказа» выберите из списка функцию Сount (подсчёт количества записей в поле), а для поля «Отпускная цена» первый раз выберите Sum (суммирует все значения в поле). А для подсчёта среднего значения второй раз используйте функцию Avg.

5.8. Запустите запрос на выполнение, чтобы посмотреть результаты запроса. Должна получиться таблица, которая содержит список клиентов, для каждого клиента указывается количество заказов, которое он сделал, общая сумма и средняя стоимость этих заказов. Закройте запрос, сохранив eго под именем "Итоги по клиентам".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]