Определение вычисляемого поля
Для создания вычисляемого поля следует задать два компонента: имя поля и выражение, определяющее вычисление, которые должна выполнить программа Access. Вычисляемые поля определяются с помощью следующего состоящего из двух частей шаблона:
ИмяВычисляемогоПоля: Выражение
Например, поле цены с налогом, PriceWithTax,определяется следующим образом:
PriceWithTax: [Price] * 1.10
По сути, это выражение сообщает программе Access о том, что нужно взять поле Priceи умножить его на 1.10 (что эквивалентно повышению цены на 10%). Access повторяет это вычисление для каждой записи, входящей в результаты запроса. Для того чтобы это вычисление выполнялось, в таблице должно существовать поле Price.Но вовсе необязательно отображать отдельно это поле в окне результатов запроса.
Можно сослаться на поле Price,используя его полное имя, состоящее из имени таблицы с последующей точкой, за которой указано имя поля:
PriceWithTax: [Products].[Price] * 1.10
Такая синтаксическая запись нужна, если в ваш запрос включено несколько таблиц (например, использование запроса с операцией объединения (query join), описанного в разд. "Запросы и связанные таблицы" главы 6), и одно и то же поле есть в обеих таблицах. В этой ситуации следует применять полное имя для того, чтобы избежать неоднозначности. (Если не сделать этого, Access выдаст сообщение об ошибке при попытке выполнить запрос.)
Примечание
Пользователи предыдущих версий программы Access иногда вместо точки используют восклицательный знак (например, [Products] ! [ Price]), что равнозначно.
Для добавления вычисляемого поля PriceWithTaxвам понадобится Конструктор.Сначала найдите столбец, в который вы хотите вставить вычисляемое поле. (Обычно оно добавляется и конец, в первый свободный столбец, хотя можно раздвинуть существующие столбцы и освободить для него место.) Далее в ячейке Полевведите полное определение поля (рис. 7.1).
Теперь вы готовы к выполнению запроса. Когда вы выполните его, вычисляемые данные появятся рядом с другими столбцами (рис. 7.2). Если вы не довольны тем, что вычисляемые данные несколько иначе отформатированы — больше знаков в дробной части и нет символа валюты — это можно исправить с помощью округления (см. разд. "Применение функций " далее в этой главе) и форматирования (см.разд. "Форматирование чисел "далее в этой главе).
У вычисляемых полей есть одно ограничение — поскольку информация не сохраняется в вашей таблице, вы не можете их редактировать. Если нужно изменить цену, необходимо отредактировать базовое поле Price— попытка корректировать поле PriceWithTaxпривела бы программу Access в полное замешательство.
Примечание
Выражение в каждый конкретный момент времени обрабатывает отдельную запись. Если вы хотите объединить информацию из некоторых записей для вычисления итогов или средних значений, необходимо использовать свойства группировки, описанные в разд. "Итоговые данные" далее в этой главе.
Рис. 7.1. Этот запрос отображает два поля непосредственно из БД (ID и Name)
и вставляет вычисляемое поле PriceWithTax. Обычное поле Price, которое программа Access
применяет для вычисления поля PriceWithTax, вообще не отображается
Рис. 7.2. Результаты запроса отображают поле PriceWithTax с надбавкой 10%. Главное состоит в том, что вычисляемая информация теперь доступна постоянно, несмотря на то, что она не хранится в БД. Попробуйте проверить это с помощью карманного калькулятора