V. Запрос с вычисляемым полем
В запросе для каждой записи могут производиться вычисления с числовыми и строковыми значениями или значениями дат с использованием данных из одного или нескольких полей. Результат вычисления образует в таблице запроса новое вычисляемое поле. В исходных таблицах базы данных новых полей не создается. При каждом выполнении запроса производится вычисление с использованием текущих значений полей.
В выражениях вычисляемых полей помимо имен полей могут использоваться литералы и функции. В результате обработки выражения может получаться только одно значение.
Выражение вводится в бланк запроса в пустую ячейку строки Поле. Затем, после нажатия клавиши Enter или перевода курсора в другую ячейку, перед выражением в этой ячейке добавляется имя поля с номером, отделяемое от основного выражения двоеточием. Например:
Выражение1: [Стоимость]+[Аудиосистема],
где Стоимость и Аудиосистема — имена полей.
Имя поля «Выражение1» будет играть роль заголовка столбца в таблице с результатами выполнения запроса. Это имя можно изменить, например:
«Общая стоимость»: [Стоимость]+[Аудиосистема]
Тогда в качестве заголовка столбца таблицы будет выведено имя «Общая стоимость».
Для вычисляемых полей, как и для любых других, допускаются сортировка, задание условий отбора и расчет итоговых значений.
В вычисляемых полях и условиях отбора можно использовать встроенные функции, в Access определено примерно 150 функций.
ЗАДАНИЕ 8
Из папки Access 2007 откройте документ «Справочные материалы.doc». Познакомьтесь с содержимым данного документа и сделайте конспект в тетради.
ЗАДАНИЕ 9
Создайте новый запрос с вычисляемым полем «Общая стоимость», в данном запросе должна быть рассчитана общая стоимость автомобиля, с наличием климатсистемы, аудиосистемы и коробки передач.
Для этого:
Создайте запрос в режиме Конструктора.
Добавьте таблицы Ассортимент.
Из таблицы Ассортимент в бланк запроса добавьте поля: «Стоимость», «Аудиосистемы», «Климатсистема» и «Коробка передач».
В свободную ячейку в графу Поле введите выражение, представленное на рисунке 153. Данное поле будет вычисляемым.
В данном выражении [Ассортимент]![Стоимость] означает, что данные берутся из таблицы Ассортимент по полю «Стоимость».
Рисунок 153 – Вычисляемое поле
Запустите запрос. Результат представлен на рисунке 154.
Рисунок 154 - Результат запроса с вычисляемым полем
Сохраните запрос по именем «Общая стоимость автомобиля».
ЗАДАНИЕ 10
Создайте вычисляемое поле, которое бы рассчитывало:
Процент от общей стоимости автомобиля (процент берется из таблицы Заказы). Общую стоимость автомобиля вы рассчитывали в предыдущем задании. Сохраните запрос под именем «Полная стоимость автомобиля».
Используя строковые функции, создайте поле, которое бы включало данные такого типа: «Марка», поставщиком которого является «Название поставщика», был заказан «Название клиента» и «Дата заказа» (вместо данных в «», должны использоваться данные из одноименных полей). Сохраните запрос под именем «Строковые функции».
Номер месяца, в котором был заключен договор на поставку автомобиля. Сохраните запрос под именем «Месяц заключения договра».
Выводились только те записи о заказах, с указанием кода заказа, между датами отправки и доставки которых прошло более месяца. Сохраните запрос под именем «Доставка более месяца».
Результат покажите преподавателю.