Приложения для работы с локальными базами данных 507

Рис. 9.31

Окно редактирования ограничений для записи

стоятельный объект. Выделив одно из ограничений, вы увидите в Инспекторе Объ-
ектов его свойства. Свойство CustomConstraint представляет собой строку SQL,
определяющую допустимые значения. Свойство ErrorMessage определяет строку
текста, которая будет предъявлена пользователю в случае нарушения ограниче-
ний. Например, вы можете написать в свойстве CustomConstraint :

((Sex=true) and (Year_b >1955))or((Sex=false) and (Year_b>1965))

а в свойстве ErrorMessage: «Принимаем только мужчин >1955 г.р. и женщин >19б5
г.р.»

Это обеспечит вам различные границы отбора по возрасту для мужчин и жен-
щин.

Для комплексной проверки данных можно также использовать различные со-
бытия компонента Table, но на этом мы остановимся в последующих разделах при
рассмотрении методов программирования работы с данными.

9.5.4 Вычисляемые поля

Теперь попробуем сформировать в таблице новое поле, не предусмотренное
при ее создании, значение которого вычисляется на основании значений других
полей записи. Подобные поля называются вычисляемыми полями (calculated fi-
elds). Пусть в нашем примере мы хотим добавить поле, вычисляющее возраст со-
трудника по его году рождения. Сделайте двойной щелчок на Table 1, чтобы вы-
звать Редактор Полей. Щелкните в Редакторе Полей правой кнопкой мыши и во
всплывшем меню выберите раздел New field (новое поле). Появится окно добавле-
ния нового поля, приведенное на рис. 9.32.

В разделе Field properties (свойства поля) вы должны указать имя поля
(Name) — в нашем случае назовем это поле Age, тип данных (Type) — в нашем слу-
чае это Smallint, и для некоторых типов — размер (Size). Размер указывается для
строк и других полей неопределенных размеров.

После ввода всех данных проверьте, переключилась ли группа радиокнопок Fi-
eld type на Calculated (это переключение делается автоматически). Затем щелкните
на О К и вы вернетесь в окно Редактора Полей, причем там появится новое поле Age.
Задайте для него в Инспекторе Объектов значение DisplayLabel равным «Возраст».

Рис. 9.32

Ввод информации о вычисляемом поле