Определение маски ввода
Если свойство Формат (Format) управляет тем, как данные отображаются в поле таблицы, то свойство Маска ввода (Input Mask) позволяет контролировать ввод данных в таблицу. И не только контролировать, но и упрощать процесс ввода. Маску используют в том случае, когда вводимые данные должны содержать определенные символы в некоторых позициях вводимой строки. Самым простым и ярким примером таких данных являются номера телефонов. Маска ввода должна обеспечить возможность вводить только цифры номера, а остальные символы (скобки вокруг кода города, дефис между цифрами номера) будут добавляться автоматически. Маска задается с помощью символов, приведенных в табл. 2.12.
Символ маски | Описание |
0 | В данную позицию должна быть введена цифра. Знаки плюс (+) и минус (-) не допускаются |
9 | В данную позицию должна быть введена цифра или пробел. Знаки плюс (+) и минус (-) не допускаются |
# | В данную позицию должна быть введена цифра, пробел, знаки плюс (+) или минус (-) |
L | В данную позицию должна быть введена буква |
? | В данную позицию может быть введена буква или пробел |
A | В данную позицию должна быть введена буква или цифра |
a | В данную позицию должна быть введена буква, цифра или пробел |
& | В данную позицию должен быть введен произвольный символ или пробел |
C | В данную позицию может быть введен произвольный символ или пробел. Если пользователь ничего не введет, Access не занесет в эту позицию никаких данных |
. (точка) | Десятичный разделитель (зависит от региональных установок в окне Язык и стандарты Панели управления Windows) |
, (запятая) | Разделитель групп разрядов (зависит от региональных установок в окне Язык и стандарты Панели управления Windows) |
-, / | Разделители в значениях даты и времени (зависят от региональных установок в окне Язык и стандарты Панели управления Windows) |
< | Преобразует все символы справа к нижнему регистру |
> | Преобразует все символы справа к верхнему регистру |
! | Указывает, что маску нужно заполнять справа налево. Этот символ следует использовать в том случае, когда символы в левой части маски являются необязательными. Его можно помещать в любой позиции маски |
\ | Указывает, что следующий символ необходимо рассматривать в качестве постоянного символа, даже если он является специальным символом маски. Например, \А будет выводить в маске букву А |
"литерал" | Вместо того чтобы многократно использовать символ обратного слэша (\), можно просто заключить любой литерал в двойные кавычки |
Таблица 2.12. Символы для создания масок ввода
Для того чтобы сформировать маску ввода, можно использовать Мастера масок ввода (Input Mask Wizard). Откройте в режиме Конструктора таблицу "Заказы" (Orders). Выделите поле "Дата размещения". Чтобы ввести маску ввода для этого поля, щелкните мышью по ячейке свойства Маска ввода (Input Mask). Нажмите небольшую кнопку с тремя точками (рис. 2.21), которая появится справа (эта кнопка называется кнопкой Построителя и будет встречаться еще во многих местах), и дальше следуйте указаниям мастера:
- В первом диалоговом окне вы можете выбрать нужную маску из списка (рис. 2.22). Если вы попытаетесь вводить данные в поле Проба (Try It), то сможете увидеть, как будут форматироваться вводимые вами символы. Нажмите кнопку Далее (Next).
Рис. 2.21. Таблица "Заказы" в режиме Конструктора - Во втором диалоговом окне вы увидите название маски, соответствующую ей строку символов, поле со списком Заполнитель (Placeholder character), в котором можно выбрать символ-указатель заполняемых при вводе позиций, и поле проверки работы маски. Вы имеете возможность скорректировать символьную строку маски, чтобы добиться желаемого эффекта. Нажмите кнопку Далее (Next).
- В последнем диалоговом окне нажмите кнопку Готово.
Сформированная символьная строка маски отображается в поле Маска ввода (Input Mask) для поля "ДатаРазмещения" (OrderDate) (рис. 2.22). Маска ввода состоит из трех частей:
- символьной строки маски;
- символа 0. Это означает, что введенные в поле данные будут сохраняться вместе со специальными символами. Можно заменить 0 на 1 — тогда специальные символы маски не будут запоминаться в поле;
- символа заполнителя.
Рис. 2.22. Маска ввода для поля "ДатаРазмещения"