- •Занятие 1. Знакомство с Access. Создание таблиц
- •Объекты базы данных Access
- •Типы данных.
- •Упражнение 1. Создание базы данных
- •Упражнение 2. Создание связей между таблицами
- •Контрольные вопросы
- •Упражнение 1. Создание форм с помощью Мастера
- •Упражнение 2. Редактирование форм с помощью Конструктора
- •Упражнение 3. Ввод данных форм.
- •Контрольные вопросы
- •Занятие 3. Поиск данных с помощью запросов
- •Упражнение 1. Запросы на выборку
- •Создание простого запроса с помощью Мастера
- •Упражнение 2. Создание запросов с помощью Конструктора
- •Упражнение 3. Вычисляемые поля в запросах на выборку
- •Упражнение 4. Запрос с группировкой
- •Упражнение 5. Параметрические запросы
- •Контрольные вопросы
- •Занятие 4. Создание отчетов
- •Упражнение 1. Группировка в отчетах
- •Упражнение 2. Отчет с итоговыми данными
- •Контрольные вопросы.
- •Задания для самостоятельного выполнения
- •Список литературы
- •111395, Москва , ул. Юности, 5
Упражнение 3. Вычисляемые поля в запросах на выборку
Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц.
В запрос можно вводить не только поля из одной или из нескольких таблиц, но и создавать вычисляемые поля на основе имеющихся. Для создания вычисляемых полей используются математические и строковые операторы. При этом Access проверяет синтаксис выражения и автоматически вставляет следующие символы:
● квадратные скобки [ ], в них заключается имена элементов управления;
● знаки номеров (#), в них заключается распознанные даты;
● кавычки (« »), в них заключается текст, не содержащий пробелов или знаков пунктуации.
Поле, содержимое которого является результатом расчета по содержимому других полей, называется вычисляемым полем.
Вычисляемое поле существует только в результирующей таблице. Общий формат вычисляемого поля выглядит так:
Имя вычисляемого поля: Выражение для создания вычисляемого поля
Примеры: например, если в таблицах имеются поля «Цена» и «Количество», то в запросе можно создать поле [ Цена ] * [ Количество ].
Прибыль: [ Доход ] – [ Расход ];
Цена со скидкой: [ Цена ] – [ Цена ]*0,1
К списку полей запроса можно добавить любое поле, которого нет в таблицах-источниках запроса. В общем случае это поле должно представлять собой любое выражение, построенное с использованием встроенных элементов Access: знаков операций, функций, полей из любых таблиц или запросов БД, элементов управления любых объектов БД (например, форм). Это поле будет содержать формулу. Для более быстрого и правильного построения выражения можно воспользоваться услугами Построителя выражений (контекстное меню/пункт Построить или специальная пиктограмма с тремя точками внутри). При этом открывается окно Построитель выражения.
Создадим запрос для вычисления подоходного налога 13% для каждой сделки.
1. Откройте запрос Сумма заказа в режиме Конструктора.
2. В пустом столбце бланка запроса щелкните правой кнопкой мыши на ячейке Поле и в появившемся контекстном меню выберете команду Построить. Перед вами появится окно Построитель выражений (рис.8). Сверху располагается поле выражения, в котором оно и создается. Вводимые в это поле элементы выбираются в двух других областях окна Построителя.
3. В левом списке откройте папку Запросы и выделите запрос Сумма заказа. В среднем списке выделите поле Сумма и нажмите кнопку Вставить. Идентификатор этого поля появится в поле выражения Построителя.
4. Щелкните на кнопке * и введите 0,13 (см. рис.17). Таким образом, мы посчитаем подоходный налог 13%.
Рис. 17. Построитель выражений
5. Нажмите кнопку ОК, после чего в ячейке свойства Поле появится значение «Выражение 1: [Сумма]*0,13».
6. Замените Выражение 1 на Налог и закройте Конструктор.
7. Откройте запрос и посмотрите, что у вас получилось.
8. Используя Построитель выражений, добавьте в запрос Сумма заказа поле Прибыль, в котором будет вычисляться доход от заказа (т.е. сумма минус налог).
Упражнение 4. Запрос с группировкой
Групповые операции позволяют выделить группы записей с одинаковыми значениями в указанных полях группировки и использовать для других полей этих групп какую-либо статистическую функцию обработки из числа предусмотренных в Access.
Запросы с группировкой позволяют производить итоговые вычисления. В связи с этим такие запросы также называют итоговыми.
Итоговый запрос – это запрос с использованием операции Группировка.
Например, можно подсчитать сумму заказов на дату, найти минимальные и максимальные даты заказов.
Для этих целей в Access предусмотрены статистические функции SQL. Статистическую функцию задают в строке Групповая операция бланка запросов, которая появляется при выполнении команды Итоги ( группа Показать и скрыть). Заполняя ячейки в строке Групповая операция, можно выполнить расчеты для групп записей и вычислить сумму, среднее, количество или другой тип итогового значения для вычисляемого поля.
В Access предусмотрено девять статистических функций:
● Sum – сумма значений некоторого поля для группы;
● Avg – среднее от всех значений поля в группе;
● Max, Min – максимальное, минимальное значение поля в группе;
● Count – число значений поля в группе без учета пустых значений;
● Stdev – среднеквадратичное отклонение от среднего значения поля в группе;
● Var – дисперсия значений поля в группе;
● First и Last – значение поля из первой или последней записи в группе.
Рис. 18. Список итоговых функций
Результат запроса с использованием групповых операций содержит по одной записи для каждой группы. В запрос включаются поля, по которым производится группировка, и поля, для которых выполняются групповые функции.
Найти сумму заказов по каждому клиенту.
1. В окне базы данных щелкните на кнопке Запросы.
2.Дважды щелкните на значке Создание запроса в режиме Конструктора.
3. В открывшемся окне диалога сделайте двойной щелчок на строках Клиенты и Заказы.
4. Щелчком на кнопке Закрыть закройте окно диалога Добавление таблицы.
5. Щелкните на кнопке Групповые операции панели инструментов. В бланке запроса появится дополнительная строка Групповая операция, позволяющая выполнять статистические операции со значениями конкретных полей. При этом в столбцах по умолчанию устанавливается значение Группировка.
6. Перетащите поле Название компании из таблицы Клиенты в строку Поле первого столбца Конструктора.
7. В ту же строку второго столбца перетащите поле Сумма заказа из таблицы Заказы.
8. В раскрывающемся списке ячейки Групповая операция в поле Сумма заказа бланка запроса выберите пункт SUM.
9. Выполните запрос.
В результате группировки по каждому клиенту выводится только одна запись с итоговой суммой по всем заказам.
10. Сохраните запрос.
11. Самостоятельно сделайте запрос с группировкой по зарплате сотрудников.
