Вычисления в форме

В некоторых случаях требуется добавить в форму специальные поля. Например, поле, в котором вычислялось бы значение по определенным формулам на основе заданной пользователем информации.

Примером такого поля для нас будет служить последнее поле нашей формы — общее количество страниц, ведь его значением является сумма значений всех полей кол-во страниц 1 — Кол-во страниц з. Для создания данного поля воспользуемся панелью Выбор поля (Field Chooser).

Совет

Если вам необходимо создать текстовое поле с надписью, то гораздо удобнее использовать панель Выбор поля, нежели панель Toolbox (то есть создать два элемента управления и для каждого задать свойства). В качестве примера на закрепление пройденного материала попытайтесь создать то же поле, только посредством панели Toolbox.

Пример 19.7. Создание вычисляемого поля

{Панель Выбор поля}

Создать

Имя := Общее количество страниц

Тип Формула

Изменить... (рис. 19.7)

Поле > Поля пользователя в папке > Кол-во страниц1

(Ввести знак "+" и повторить для случая 2 и 3)

ОК

Рис. 19.7. Диалоговое окно Поле формулы

Помимо стандартных функций сложения (+), вычитания (-), умножения (*) и деления (/), можно задавать и более сложные из набора встроенных функций Outlook. Существует шесть типов функций.

После создания поля с формулой и добавления его на форму выделите поле и откройте диалоговое окно Свойства, а затем перейдите на вкладку Значение (Value). В разделе Начальное значение (Initial Value) установите переключатель Вычислять выражение автоматически (Calculate this formula automatically), что позволит автоматически вычислять сумму при изменении значений полей кол-во страниц.

Помимо этого, для поля можно задать дополнительные параметры проверки. Для чего перейдите на вкладку Проверка (Validation) диалогового окна Свойства (рис. 19.8).

Рис. 19.8. Вкладка Проверка диалогового окна Свойства

Пример 19.8. Установка дополнительных параметров проверки

Проверить это поле перед закрытием формы

Формула проверки

Изменить...

Поле > Поля пользователя в папке >Общее кол-во страниц

Ввести "> 0"

ОК

Вывести сообщение := Значение поля "Количество страниц" не может быть отрицательным

ОК