Маска ввода - это способ наложения ограничения на ввод данных в поле.
Маска ввода служит различным целям:
· обеспечивает соответствие данных определенному формату, а также заданному типу данных, вводимых в каждую позицию, например, 999-99-9999;
· вводит постоянные символы, такие, как дефис (-), косая черта (/), которые сохраняются вместе со значением поля и не требуется вводить эти символы самостоятельно.
Свойство (InputMask) задает маску ввода, облегчающую ввод данных в элемент управления - поле. Значение данного свойства определяется автоматически, при использовании мастера по созданию масок ввода. Значение свойства «Маска ввода» может содержать до трех разделов, разделяемых точкой с запятой (таблица 3).
При создании маски можно указать, что часть данных обязательны, а другие - необязательны. Эти символы определяют тип данных, например номер символа, который необходимо ввести для каждого символа маски ввода. Символы, которые следует вводить в маску ввода, определяются специальными символами, приведенными в таблице 4. Значение «Пароль» свойства «Маска ввода» определяет элемент для ввода пароля. Любые символы будут отображаться (*).
Таблица 3 – Содержание разделов маски ввода
Раздел
Описание
Первый
Представляет саму маску ввода (например, !(999) 000-0000). Перечень символов, используемых для определения масок ввода, приводится ниже в таблице 4
Второй
Определяет режим занесения в таблицу строковых констант, добавляемых к символам, вводящимся пользователем. 0 указывает, что постоянные символы (скобки и дефисы в маске ввода телефонных номеров) сохраняются вместе с введенными пользователем символами; значение 1 или пустое значение данного компонента указывает, что сохраняются только символы, введенные пользователем
Третий
Определяет символ, используемый для изображения пустых позиций в маске ввода, в которые помещаются вводящиеся пользователем символы. В этом компоненте можно указать любой символ ANSI; пробел необходимо заключить в кавычки (" ")
Для элемента управления значение данного свойства задается в окне свойств. Для поля значение свойства задается в режиме конструктора. Также можно в макросе или в программе Visual Basic.
Маска ввода используется только при вводе символов в поле или в поле со списком с клавиатуры и игнорируется при всех остальных операциях. Если пользователь определяет маску ввода и одновременно задает для того же поля значение свойства «Формат поля», то при выводе данных приоритет имеет свойство «Формат поля». Это означает, что при форматировании данных сохраненная маска ввода игнорируется. Данные в базовой таблице при этом не изменяются; свойство «Формат поля» определяет только режим отображения данных.
Таблица 4 - Специальные символы маски ввода
С
Описание
Цифра (обязательный символ; знаки (+) и (-) не разрешены)
Цифра или пробел (необязательный символ; знаки (+) и (-) не разрешены)
#
Цифра или пробел (необязательный символ; незаполненные позиции выводятся как пробелы в режиме редактирования, но удаляются при сохранении данных; знаки (+) и (-) не разрешены)
L
Буква (обязательный символ)
?
Буква (необязательный символ)
A
Буква или цифра (обязательный символ)
a
Буква или цифра (необязательный символ)
&
Любой символ или пробел (обязательный символ)
C
Любой символ или пробел (необязательный символ)
<
Преобразует все символы к нижнему регистру
>
Преобразует все символы к верхнему регистру
!
Указывает, что маска ввода заполняется справа налево; в левой части маски находятся позиции, заполнять которые не обязательно. Маски ввода обычно заполняются слева направо. Символ восклицательного знака можно помещать в произвольную позицию в маске ввода
\
Указывает, что следующий символ следует воспринимать как постоянный (а не специальный) символ (например, \A представляет символ «A»)
. , : ; - /
Десятичный разделитель, разделители групп разрядов, времени или даты. (Используемые символы разделителей определяются настройками, выбранными в окне Язык и стандарты панели управления Windows)