Создание запросов с вычисляемыми полями и групповыми вычислениями
Задание 3. Создайте запрос на выборку, подсчитывающий суммарное количество заказанного товара по наименованиям.
Последовательность действий:
Создайте новый запрос в режиме конструктора и добавьте таблицы Товары и Заказы в запрос.
Перетащите в бланк запроса поля Код товара, Наименование товара, Количество на складе и Количество.
Выполните команду Конструктор/Показать или скрыть/Итоги.
В результате будет добавлена строка Групповые операции
В столбце поля Количество раскройте список групповых операций и выберите функцию Sum.
Сохраните запрос под именем Суммарное количество товаров и запустите его на выполнение. В поле Sum _Количество будет подсчитана сумма количества товаров по всем заказам.
Вернитесь в режим конструктора запроса.
Переименование полей в запросе
Чтобы изменить имя поля Sum _Количество, которое Ассеss предложил по умолчанию, выполните следующие действия:
• Установите курсор перед словом Количество в строке Поле и введите Суммарное количество: (должно получиться Суммарное количество: Количество).
Сохраните запрос и запустите его на выполнение.
Закройте окно запроса.
Задание 4. Создайте запрос на выборку, подсчитывающий остаток товара на складе.
Последовательность действий:
Создайте новый запрос в режиме конструктора.
В окне Добавление таблицы щелкните по вкладке Запросы и добавьте запрос Суммарное количество товаров. Закройте окно добавления таблицы.
Включите в запрос поля Наименование товара, Количество на складе и Суммарное количество.
Создайте новое поле Остаток, которое вычисляется как разность полей Количество на складе и Суммарное количество. Для этого щелкните правой клавишей мыши в ячейке строки Поле пустого столбца бланка запроса и выберите Построить или выбрать Построитель на ленте.
Воспользовавшись списками папок и полей создайте следующее выражение:
Остаток: [Суммарное количество товаров]![Количество на складе]- [Суммарное количество товаров]![Суммарное количество]
После задания выражения нажмите Ок в окне построителя выражений.
Сохраните запрос под именем Вычисление остатка на складе и запустите его на выполнение.
Просмотрите результаты выполнения запроса и закройте окно запроса.
Задание 5. Создайте запрос на выборку, подсчитывающий общую сумму заказов.
Последовательность действий:
Создайте новый запрос в режиме конструктора
Добавьте в запрос таблицы Товары и Заказы.
Включите в запрос поле Наименование товара.
Создайте новое поле Сумма заказа, которое вычисляется как произведение полей Количество и Отпускная цена. Для этого щелкните мышью в ячейке строки Поле пустого столбца бланка запроса и нажмите кнопку построителя выражений. Воспользовавшись списками папок и полей, создайте следующее выражение:
Сумма заказа: [Заказы]![Количество]*[Товары]!(Цена]
После задания выражения нажмите Ок в окне построителя выражений.
Нажмите кнопку Итоги. В строке Групповые операции раскройте список групповых операций в созданном вами поле Сумма заказа и выберите операцию Sum
Сохраните запрос под именем Сумма заказов и запустите его на выполнение.
Просмотрите результаты выполнения запроса и закройте окно запроса.
Задание 6. Создайте запрос на выборку, который выводит фамилию, имя и полный адрес клиента.
Последовательность действий:
Создайте новый запрос в режиме конструктора.
Добавьте в запрос таблицу Контакты.
Создайте новое поле Фамилия и имя, которое является объединением полей Фамилия и Имя. Для этого щелкните мышью в ячейке строки Поле пустого столбца бланка запроса и нажмите кнопку построителя выражений. Воспользовавшись кнопками построителя, списками папок и полей, создайте следующее выражение:
Фамилия и имя: [Контакты]!|Фамилия]&" "&[Контакты]![Имя]
После задания выражения нажмите Ок в окне построителя выражений.
Аналогично создайте новое поле Полный адрес, выражение для которого имеет вид:
Полный адрес:[Контакты]![Почтовый Индекс]&","& [Контакты]![Страна] & ", " & [Контакты]![Город] &", "& [Контакты]![Адрес]
После задания выражения нажмите Ок в окне построителя выражений.
Сохраните запрос под именем Контакты клиентов и запустите его на выполнение.
Просмотрите результаты выполнения запроса. Чтобы данные полностью выводились на экран, подгоните ширину столбцов.
Сохраните и закройте окно запроса.
Задание 7. Создайте запрос на выборку, который выбирает из таблицы Заказы поле Код заказа и вычисляет стоимость доставки: если в поле Способ доставки содержится значение Доставка на дом, то стоимость доставки равна 10% от суммы заказа, а если способ доставки - Самовывоз, то стоимость доставки равна 0.
Последовательность действий:
Создайте новый запрос в режиме конструктора. Добавьте таблицы Заказы и Товары в запрос и закройте окно добавления таблицы.
Добавьте в запрос поля Код заказа и Способ доставки.
Создайте новое поле Стоимость доставки. Для этого щелкните мышью в ячейке строки Поле пустого столбца бланка запроса и нажмите кнопку построителя выражений.
В окне построителя дважды щелкните по папке Функции, затем по папке Встроенные функции, в центральном списке выберите категорию Управление и из крайнего правого списка выберите функцию IIf.
Примечание: функция IIf возвращает одно из двух значений в зависимости от истинности указанного выражения.
• Далее воспользовавшись списками папок и полей, создайте следующее выражение:
Стоимость доставки: IIf [Заказы]![Способ доставки]="Самовывоз";0;[Товары]![Цена]*[Заказы]![Количество]*0,1)
После задания выражения нажмите Ок в окне построителя выражений.
Запустите запрос на выполнение и просмотрите, как вычисляются значения нового поля.
Вернитесь в режим конструктора. Щелкните по полю Стоимость доставки. Откройте окно свойств (Конструктор/Показать или скрыть/Свойства)
В окне свойств установите для нового поля Формат поля - Денежный, Число десятичных знаков - 0. Закройте окно свойств.
Сохраните запрос под именем Вычисление стоимости доставки и запустите запрос на выполнение.
После просмотра результатов выполнения закройте окно запроса.