
Правила создания вычисляемого поля
В режиме конструктора запроса щелкнуть мышью по пустой ячейке в строке «Поле». Для ввода выражения следует либо щелкнуть по кнопке инструментальной панели «Построить», либо выбрать одноименную команду в контекстном меню, щелкнув по пустому полю правой клавишей мыши.
В окне построителя (рис. 1.6) необходимо создать выражение последовательным добавлением в него имен полей таблиц и запросов, функций, констант и операторов, которые выбираются из соответствующих списков.
После создания в окне построителя выражений щелкнуть по кнопке «ОК» и вернуться в окно конструктора запроса. В поле появится выражение. По умолчанию после нажатия клавиши <Enter> или перемещения в другую ячейку полю будет автоматически присвоено имя «Выражением», где N - целое число, возрастающее на единицу для каждого нового поля, содержащего выражение, в запросе.
Рис. 1.6. Вид окна построителя выражений
Пример: Возраст: Fix((Date()-Студент![Дата рождения])/365)
Выражение1 :[Специальность]![Стоимость обучения]*0.2
Пользователь может переименовать вычисляемое поле, выделив имя этого поля и введя новое имя, например, заменить имя «Выражение1» на имя «НДС».
Например, для создания поля «Сумма» следует ввести в ячейку в строке «Поле» выражение:
Сумма: [Цена]*[Количество]
При выполнении запроса в поле «Сумма» будет занесено новое значение, найденное перемножением содержимого полей «Цена» и «Количество».
4. При делении денежного значения на любое число возвращается числовое значение со значением свойства Размер поля «С плавающей точкой (8 байт)». Чтобы возвращалось значение типа «Денежный», следует указать этот тип в свойстве запроса Формат поля.
Примечание. Для ввода или просмотра всего выражения, не прибегая к прокрутке, нажмите клавиши <SHIFT> + <F2> и выведите на экран окно «Масштаб».
5. При вводе выражения в окно свойств в поле бланка запроса Access выполняет автоматическую вставку определенных символов при изменении положения фокуса. В зависимости от типа поля, в которое вводится выражение, автоматически добавляются:
квадратные скобки ([ ]) вокруг имен форм, отчетов, полей и элементов управления;
символы (#) вокруг дат;
прямые кавычки (« ») вокруг строковых значений.
Имена объектов
Имена объектов в формульном выражении - это идентификаторы таблиц, форм, отчетов, элементов управления, полей. При вводе имени объекта в Access его нужно заключать в квадратные скобки ([ ]). Если в имени объекта нет пробелов и знаков пунктуации, то скобки можно не вводить, однако их вставит сам Access.
При указании имени поля конкретного объекта используются операторы идентификации:
! - используется для разделения ссылок на объекты. Например, для обращения к полю «Дата рождения» в форме Студент следует написать:
Forms![студент]![дата рождения].
Вывод на экран задает ссылку на значение поля элемента управления или свойства.
Элементы выражения
Элементами выражения могут быть операторы, имена полей, функции, литералы и константы.
Операторы ф, о, <, <=, >, >=, &, And, Or, Not, Like, Between, In определяют операцию, выполняемую над одним или несколькими элементами, и используются главным образом в условиях отбора записей.
Использование стандартных функций в выражениях
Функции - это ранее определенная последовательность действий (программа). В Access можно использовать функции двух видов: стандартные, входящие в состав Access, или VBA (140 функций) и пользовательские, которые пользователь пишет сам на языке VBA. Все функции сгруппированы по категориям:
1. Функции даты и времени. Предназначены для управления значениями типа «Дата/время».
Date() - возвращает текущее системное время и дату;
Day() - возвращает целое число от 1 до 31 - день месяца; Month() - месяц от 1 до 12 значения даты;
WeekdayO - возвращает день недели (целое число, воскресенье соответствует 1);
Yea r0 - возвращает год (целое число).
2. Функции преобразования типов данных. Позволяют назначить наиболее подходящий тип данных:
str() - возвращает число в виде строки; ValO - возвращает число из строки;
FormatO - возвращает строку в формате, определенном пользователем.
3. Математические и тригонометрические функции. Выполняют вычисления над числовыми значениями:
AbsO - возвращает абсолютное значение числа;
SqrO - вычисляет квадратный корень числа;
FixO - возвращает целую часть числа;
IntO - возвращает первое целое число, меньшее аргумента.
4. Текстовые (строковые) функции. Выполняют операции над текстовыми значениями.
AscO - возвращает числовой код символа; Chr() - возвращает символ по числовому коду; InstrO - возвращает номер позиции знака в тексте; Left() - возвращает указанное число знаков текста слева; Right() - возвращает указанное число знаков справа; MidO - возвращает указанное число знаков, начиная с указан- ной позиции.
Финансовые функции. Эти функции аналогичны имеющимся финансовым функциям в Excel.
Статистические функции. Выполняют групповые операции над набором данных, который содержится в поле формы, отчета или запроса.
Логические функции:
IIF(условие, значение_если_истина, значение_если_ложь).