Задание ограничений на значения полей заключается в указании для полей:
- требования обязательного ввода значения;
- минимального значения;
- максимального значения;
- значения по умолчанию;
- маски ввода.
Установленные ограничения задаются на физическом уровне (уровне таблицы) и действуют для любых программ, выполняющих операции с таблицей: как для программ типа Database Desktop, так и для приложений, создаваемых в С++ Builder. Дополнительно к этим ограничениям или вместо них в приложении можно задать программные ограничения.
Для выполнения операций, связанных с заданием ограничений на значения полей, нужно выбрать пункт Validity Checks (Проверка значений) комбинированного списка Table properties, при этом ниже списка появляются флажок Required Field (Обязательное поле), поля редактирования Minimum Value, Maximum Value, Default Value, Picture (Маска ввода) и кнопка Assist (Помощь). Флажок и поля редактирования отображают установки для поля таблицы, которое выбрано в списке (курсор находится в строке этого поля).
Требование обязательного ввода значения означает, что поле не может быть пустым (иметь значение Null). Это требование действует при добавлении к таблице новой записи. До того как изменения в таблице будут подтверждены, поле должно получить какое-либо непустое значение, в противном случае генерируется ошибка. Ошибка может возникнуть также при редактировании записи, когда будет удалено старое значение поля и не присвоено новое.
Данное требование удобно использовать для так называемых обязательных полей таблиц, например, для поля фамилии в таблице сотрудников организации.
Обязательность ввода значения не действует на автоинкрементное поле, которое и без того является обязательным и автоматически заполняемым.
Для указания обязательности ввода значения в поле необходимо установить флажок Required Field, который по умолчанию снят.
Для полей некоторых типов, в первую очередь числовых, денежных, строковых и даты, иногда удобно задавать диапазон возможных значений, а также значение по умолчанию. Диапазон определяется минимальным и максимальным возможными значениями, которые вводятся в полях редактирования Minimum Value и Maximum Value. После их задания выход значения поля за указанные границы не допускается при вводе и редактировании любым способом.
Значение поля по умолчанию указывается в поле Default Value. Это значение устанавливается при добавлении новой записи, если при этом для поля не указано какое-либо значение.
Задание диапазона и значений по умолчанию возможно не для всех полей, например, они не определяются для графического поля и поля комментария. Для этих полей соответствующее поле ввода в диалоговом окне определения структуры таблицы блокируется.
В поле ввода Picture можно задать маску (шаблон) для ввода значения поля. Ввод по маске поддерживается, например, для таких типов полей, как числовой или строковый. Его удобно использовать для ввода информации определенных форматов, например, телефонных номеров или почтовых индексов.
Для маски используются следующие символы:
- # (цифра);
- ? (любая буква; регистр не учитывается);
- & (любая буква; преобразуется к верхнему регистру);
- ~ (любая буква; преобразуется к нижнему регистру);
- @ (любой символ);
- ! (любой символ; преобразуется к верхнему регистру);
- ; (за этим символом следует буква);
- * (число повторов следующего символа);
- [abc] или {а,b,с} (любой из приведенных символов а, b или с; во втором случае значения перечисляются через запятую без пробелов).
Маску можно ввести в поле ввода Picture вручную или использовать для этого диалоговое окно Picture Assistance (Помощник представления), вызываемое нажатием кнопки Assist.
Указанное окно помогает ввести, выбрать или откорректировать маску, а также проверить ее функционирование. Список Sample pictures содержит образцы масок, которые выбираются нажатием кнопки Use. Выбранная маска помещается в поле ввода Picture и доступна для изменения. Для модификации списка образцов масок служат кнопки Add to List и Delete from List: первая добавляет к списку маску, содержащуюся в поле ввода Picture, а вторая удаляет из списка Sample pictures выбранную маску.
Проверка синтаксиса маски выполняется по нажатию кнопки Verify Syntax, результат проверки выводится в информационной панели. Кнопка Restore Original (Вернуть исходную) служит для восстановления начального (т.е. до начала редактирования) значения маски.
функционирование маски можно проверить, введя в поле ввода Sample value значение поля таблицы. По нажатию кнопки Test Value выполняется проверка введенного значения, результат проверки выводится в информационной панели.