Вычисляемые поля
Лабораторная работа № 6 Цель работы: Сформировать умения создавать вычисляемые поля для организации вычислений.
Вычисляемое поле – это такое поле, которое не содержится ни в одной из таблиц базы данных, а создается с помощью выражений. Для расчетов с использованием формул, определяемых пользователем, требуется создать новое вычисляемое поле прямо в бланке запроса. Вычисляемое поле создается с помощью выражения, которое вводится в пустую ячейку Поле бланка запроса. Вычисляемое поле имеет следующий формат: Имя вычисляемого поля: Выражение для построения вычисляемого поля Если при создании вычисляемого поля пользователь не указывает имя, то Access по умолчанию присвоит ему имя Выражение1. Имя для вычисляемого поля рекомендуется задавать по двум причинам: во-первых, для заголовка столбца таблицы, содержащей динамический набор запроса, и, во-вторых, для обращения к этому полю в форме, отчете или другом запросе. Рассмотрим пример. Требуется вывести список читателей в алфавитном порядке, содержащий фамилии, инициалы и домашний адрес. Поскольку поля с инициалами читателей ни в одной таблице базы данных Библиотека нет, нам потребуется создать вычисляемое поле для выделения инициалов из имени и отчества читателей. Вычисляемое поле назовем Фамилия и инициалы. Запрос сохраним под именем Список читателей с инициалами. Вид бланка запроса для вывода списка читателей с фамилиями и инициалами представлен на рис. 1.
Рис. 1. Бланк запроса для вывода списка читателей.
Выражение в вычисляемом поле, приведенном на рис. 1, является текстовым. Оператор конъюнкция (" & ") в нем используется для сцепления строк, так, например, выражение [Фамилия]& " " сцепляет значение поля Фамилия с пробелом. Функция Left$([Имя]; 1) в данном контексте используется для выделения одной левой буквы из значения поля Имя. Динамический набор записей в результате выполнения данного запроса будет иметь вид, представленный на рис. 2.
Рис. 2. Динамический набор запроса. Убедитесь в том, что в рассмотренном примере вместо функции Left$([Имя]; 1) мы бы могли воспользоваться более общей функцией Mid$([Имя]; 1; 1). Функция Mid$([Имя поля]; n; m) позволяет из указанного поля выделить подряд расположенных m символов, начиная с номера n. Более того, тот же результат получился бы, если мы в названиях используемых функций убрали бы символ доллара (" $").
|