С помощью запроса можно создавать расчетные поля. Это временные поля, в которые заносятся результаты вычислений над значениями других полей.
Для создания вычисляемого поля необходимо:
- Установить курсор в строку «Поле» свободного столбца;
- На панели инструментов нажать кнопку Построить, открыв окно построителя выражений (рис. 4.7);
- В окне «Построителя» ввести название нового поля, отделив его двоеточием от расчетной формулы.
- В нижней части окна построителя находятся три списка. В левом списке выводятся папки, содержащие объекты базы данных, функции, константы, операторы, которые можно использовать в выражениях. При выборе необходимой папки, в среднем списке отображаются входящие в нее элементы. Выбрав элемент в среднем списке, в правом выбирают значения (если они существуют). Например, если выбрать в левом списке «Встроенные функции», в среднем - нужную категорию функции, то справа будет выведен список всех встроенных функций выбранной категории.
Пример.
Найти потребляемую мощность машины.
Пример показан на рис. 4.7.
Рис. 4.7. Окно Построителя выражений
При вводе формулы нежелательно печатать названия полей вручную, достаточно выщелкивать их двойным щелчком, высвечивая в среднем списке.
Рассмотрим пример вычисляемого поля. Пусть в таблице имеется информация о мощности, потребляемой каждой машиной в час, их количестве и времени работы. Для расчета «Потребляемой мощности» всех машин за все время необходимо умножить мощность каждой машины на их количество и время работы в часах. Для этого в Построитель выражений заносится следующая запись:
Потребляемая мощность: [Машины]! [Мощность] *[Машины] !
[Время работы] *[Машины]![Количество]
Обратите внимание, поля таблицы появляются в квадратных скобках в сопровождении названия таблицы и отделяются от имен таблиц восклицательным знаком.
Иногда требуется объединить текстовые поля. Например, в Вашей таблице отдельно содержатся поля «Город», «Улица», «Дом» и «Квартира». Требуется создать поле «Адрес». Создаем запрос, в который выносим поле «Фамилия» и вызываем Построитель выражений.
На рис. 4.8 представлена исходная таблица, на основании которой создается запрос.
Рис. 4.8. Исходная таблица
Таблица, содержащая требуемые поля, называется «Экзамены». Поля требуется приписать друг к другу. В качестве соединителя полей использован знак конкатенации & . Мы не дали новому полю название и автоматически появилась надпись «Выражение1» (рис. 4.9).
Рис. 4.9. Создание поля «Адрес» пока под именем «Выражение1»
Результат выполнения запроса представлен на рис. 4.10.
Рис. 4.10. Результат выполнения запроса
Внешний вид, полученный в результате выполнения такого запроса, весьма далек от идеала. Модифицируем выражение, добавив в него название поля и знаки разделителя между составляющими адреса. Окно «Построителя» будет выглядеть следующим образом (рис. 4.11):
Рис. 4.11. Окно Построителя выражения с модифицированным запросом
В верхнем окне Построителя записана следующая формула:
АДРЕС: [ЭКЗАМЕНЫ]![Город] & ", " & [ЭКЗАМЕНЫ]![Улица] & ", "
& [ЭКЗАМЕНЫ]![Дом] & ", " & [ЭКЗАМЕНЫ]![КВ]
Знак & соединяет отдельные элементы, в кавычках - разделители. Результат выполнения запроса, представленный на рис. 4.12, отвечает правилам орфографии. Вы можете с помощью знака конкатенации соединять существующие поля и произвольный текст, который вводится в двойных кавычках ("). В приводимом примере – это запятая и несколько пробелов, для отделения названий друг от друга.
Рис. 4.12. Окончательный результат выполнения запроса