Вычисляемое поле, включенное в запрос, позволяет получить новое поле с результатами вычисления, отображаемыми только в таблице запроса, и не создает полей в исходных таблицах базы данных.
Рассмотрим технологию создания запроса с вычисляемым полем на примере таблицы ПРЕДМЕТ.
Пусть необходимо найти записи о предметах, в которых общее число часов по предмету не совпадает с суммой часов лекций и практики. Для решения этой задачи рассчитаем разность между общим числом часов по предмету (поле ЧАСЫ) и суммой часов лекций (поле ЛЕК) и практики (поле ПР). В ответ включим только те записи, для которых эта разность не равна нулю.
Создадим запрос на выборку для таблицы ПРЕДМЕТ. Перетащим в бланк запроса поля НП, ПР, ЛЕК, ЧАСЫ. (Рис. 20.1)
Рис. 20.1. Запрос с вычисляемым полем и условием отбора по его значению
Создание вычисляемого поля
Для получения разности создадим вычисляемое поле в пустой ячейке строки Поле (Field), записав туда выражение:
[ЧАСЫ]-[ПР.]-[ЛЕК]
Для отбора записей с ненулевым значением разности в вычисляемом поле в строку Условие отбора (Criteria) введем < > 0 (не равно 0).
|
|
Рисунок 21
После ввода выражения система формирует имя вычисляемого поля по умолчанию — "Выражение 1: (ExprN:)". Это имя вставится перед выражением. Для изменения имени установим курсор мыши в вычисляемом поле бланка запроса и нажмем правую кнопку мыши. В контекстно-зависимом меню выберем Свойства (Properties) поля, а в строку Подпись поля (Caption) введем новое имя поля — "ЧАСЫ не равны ПР+ЛЕК". Имя поля может быть исправлено также непосредственно в бланке запроса.