Вы можете помочь пользователям правильно вводить данные в классические базы данных Access, подключив маски ввода к полям, имеющим строго определенный формат значений, например номера телефонов.
Маска влияет только на ввод значений в Access: она не меняет способ их хранения, который записи от типа данных поля и других свойств. Дополнительные сведения о хранении данных в Access см. в статье Введение в типы данных и свойства полей.
Важно: Эта статья относится только к классическим базам данных Access. Веб-приложения и веб-базы данных Access не поддерживают маски ввода.
В этой статье
-
Общие сведения о масках ввода
-
Знаки, определяющие маски ввода
-
Когда следует избегать использования масок ввода в Access
-
Добавление маски ввода в поле таблицы с помощью мастера масок ввода
-
Создание настраиваемых масок ввода
-
Примеры масок ввода
-
Использование масок ввода для адресов электронной почты
Общие сведения о масках ввода
Маска ввода — это строка символов, указывающая формат допустимых значений входных данных. Маски ввода можно использовать в полях таблиц или запросов, а также в элементах управления форм и отчетов. Маска ввода хранится в свойствах объекта.
Маску ввода рекомендуется использовать, когда вводимые значения должны иметь единый формат, например для полей с номерами телефонов из десяти цифр. Если пользователь введет номер, не указав код города, данные не будут приняты в Access, пока пользователь не добавит код города.
Три компонента маски ввода
Маски ввода состоят из одного обязательного и двух необязательных компонентов, разделенных точками с запятой. Назначение каждого из компонентов описано ниже.
-
Первый компонент является обязательным. Он представляет собой знак или строку (последовательность знаков) маски с заполнителями и литералами, например круглыми скобками, точками и дефисами.
-
Второй компонент не является обязательным и определяет способ хранения встроенных знаков маски в поле. Если для этого компонента задано значение 0, знаки сохраняются вместе с данными, а если 1, то знаки отображаются без сохранения. Выбрав значение 1, можно сэкономить место для хранения базы данных.
-
Третий компонент маски ввода также не является обязательным и определяет знак, используемый в качестве заполнителя. По умолчанию в Access используется знак подчеркивания (_). Чтобы задать другой знак, введите его в третьем компоненте маски.
Пример маски ввода для телефонных номеров в формате России: (999) 000-00-00;0;-:
-
В маске используются два заполнителя — 9 и 0. Заполнитель 9 обозначает необязательные цифры (код города можно не вводить), а 0 — обязательные.
-
Значение 0 во втором компоненте маски ввода указывает на то, что знаки маски следует хранить вместе с данными.
-
Третий компонент маски ввода указывает на то, что вместо знака подчеркивания (_) в качестве заполнителя будет использоваться дефис (—).
Знаки, определяющие маски ввода
В приведенной ниже таблице перечислены заполнители и литералы, используемые в масках ввода, и описано их влияние на ввод данных.
Знак | Описание |
0 | Пользователь должен ввести цифру (от 0 до 9). |
9 | Пользователь может ввести цифру (от 0 до 9). |
# | Пользователь может ввести цифру, пробел, знак «плюс» или «минус». Если ничего не ввести, будет вставлен пробел. |
L | Пользователь должен ввести букву. |
? | Пользователь может ввести букву. |
A | Пользователь должен ввести букву или цифру. |
a | Пользователь может ввести букву или цифру. |
& | Пользователь должен ввести какой-либо знак или пробел. |
C | Пользователь может ввести знаки или пробелы. |
. , : ; — / | Разделитель целой и дробной части, групп разрядов, значений дат и времени. Выбираемый знак зависит от региональных параметров Windows. |
> | Все последующие знаки будут переведены в верхний регистр. |
< | Все последующие знаки будут переведены в нижний регистр. |
! | Маска ввода заполняется слева направо, а не справа налево. |
Знаки, следующие непосредственно за обратной косой чертой, отображаются без изменений. | |
«» | Знаки, заключенные в двойные кавычки, отображаются без изменений. |
Когда следует избегать использования масок ввода в Access
Маски ввода — это полезный инструмент, но он уместен не во всех случаях. Не используйте маски ввода, если верно одно из следующих утверждений.
-
Иногда может потребоваться ввести данные в формате, не соответствующему маске. Маска ввода не допускает исключений.
-
Планируется использовать элемент управления «Выбор даты» с полем даты и времени. Маски ввода несовместимы с таким элементом управления.
Добавление маски ввода в поле таблицы с помощью мастера масок ввода
Маски ввода можно использовать для полей с типом данных «Текстовый», «Числовой» (кроме кода репликации), «Денежный» и «Дата/время».
Примечание: Если применить маску ввода к полю с типом данных «Дата/время», для этого поля невозможно будет использовать элемент управления Выбор даты.
-
В области навигации щелкните таблицу правой кнопкой мыши и выберите в контекстном меню команду Конструктор.
-
Выберите поле, к которому необходимо применить маску ввода.
-
В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.
-
Чтобы запустить мастер масок ввода, нажмите кнопку Построить .
-
Выберите нужный тип маски ввода из списка.
-
Щелкните поле Проба и введите данные, чтобы проверить работу маски.
-
Чтобы оставить маску ввода без изменений, нажмите кнопку Далее.
-
Выберите способ хранения данных.
-
Чтобы сохранить изменения, нажмите кнопку Готово.
Добавление маски ввода в запрос
-
В области переходов щелкните правой кнопкой мыши запрос, который требуется изменить, и выберите в контекстном меню команду Конструктор.
-
В бланке запроса установите курсор в столбец поля, которое требуется изменить.
Курсор можно поместить в любую строку для этого поля.
-
Нажмите клавишу F4, чтобы открыть окно свойств поля.
-
В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.
-
Чтобы запустить мастер масок ввода, нажмите кнопку Построить . Следуйте инструкциям мастера.
Добавление маски ввода в элемент управления формы или отчета
-
В области переходов щелкните правой кнопкой мыши форму или отчет, которые требуется изменить, и выберите в контекстном меню команду Конструктор.
-
Щелкните правой кнопкой мыши элемент управления, который требуется изменить, а затем выберите в контекстном меню команду Свойства.
-
На вкладке Все щелкните поле свойства Маска ввода.
-
Чтобы запустить мастер масок ввода, нажмите кнопку Построить . Следуйте инструкциям мастера.
Создание настраиваемых масок ввода
В мастере предусмотрены маски ввода для наиболее распространенных вариантов форматирования, однако в некоторых случаях требуется настроить маску под особые нужды. Чтобы сделать это, можно либо изменить одну из предопределенных масок мастера ввода, либо вручную задать свойство «Маска ввода» для соответствующего поля.
Настройка масок ввода в мастере
-
Откройте объект в конструкторе и щелкните поле, к которому нужно добавить настраиваемую маску ввода.
-
Чтобы запустить мастер масок ввода, нажмите кнопку Построить .
-
Нажмите кнопку Изменить список.
Откроется диалоговое окно Настройка масок ввода.
-
Перейдите к новой записи в этом окне и введите новое описание в поле Описание.
-
В поле Маска ввода введите символы и заполнители с помощью разрешенных знаков из списка таблицы.
-
Щелкните стрелку списка Тип маски: и выберите подходящий тип маски.
-
Нажмите кнопку Закрыть. В списке появится новая маска ввода.
Настройка масок ввода в свойстве поля
-
В области навигации щелкните объект правой кнопкой мыши и выберите в контекстном меню команду Конструктор.
-
Выберите поле, для которого необходимо создать настраиваемую маску ввода.
-
В области «Свойства поля» щелкните поле Маска ввода и введите собственную маску.
-
Чтобы сохранить изменения, нажмите сочетание клавиш CTRL+S.
Для полей числового и денежного типов определение маски ввода задается вручную.
Примеры масок ввода
В таблице ниже приведены примеры использования масок ввода.
Маска ввода | Обеспечивает ввод значения в виде | Примечания |
(000) 000-0000 | (206) 555-0199 | В данном случае пользователи должны вводить код города, так как в соответствующем разделе маски (000 в скобках) используется заполнитель 0. |
(999) 000-0000! | (206) 555-0199 | В этом случае в области междугородного кода используется местозаполнитель 9, поэтому междугородные коды необязательны. Кроме того, восклицательный знак (!) обусловливает заполнение маски слева направо. |
(000) AAA-AAAA | (206) 555-ТЕЛЕ | Предоставляется возможность заменить буквами четыре последних цифры телефонного номера в формате США. Обратите внимание на местозаполнитель 0 в области кода города, который делает междугородный код обязательным. |
#999 | -20 | Любое положительное или отрицательное число, включающее не более четырех знаков и не имеющее разделителей тысяч и дробной части. |
>L????L?000L0 | ЗЕЛЕНЫЙ339М3 | Сочетание обязательных (L) и необязательных (?) букв и обязательных цифр (0). Знак «больше» требует вводить все буквы в верхнем регистре. Чтобы использовать маску ввода этого типа, необходимо задать для типа данных поля таблицы значение Текстовый или Поле МЕМО. |
00000-9999 | 98115- | Обязательный почтовый индекс и необязательная область четырехзначного расширения. |
>L<?????????????? | Мария | Имя или фамилия, первая буква которой автоматически вводится заглавной. |
ISBN 0-&&&&&&&&&-0 | ISBN 1-55615-507-7 | Учетный номер книги с текстовой константой, обязательными первой и последней цифрами и произвольной комбинацией букв и знаков между ними. |
>LL00000-0000 | БД51392-0493 | Сочетание обязательных букв и цифр, все в верхнем регистре. Данный тип маски ввода помогает, например, правильно вводить инвентарные номера или заполнять другие формы складского учета. |
Использование масок ввода для адресов электронной почты
Поскольку адреса электронной почты могут быть самой разной длины, маски ввода не подходят для их проверки при вводе. Вместо масок ввода рекомендуется использовать свойства Правило проверки и Сообщение об ошибке.
Условие на значение, приведенное в таблице ниже, гарантирует, что адрес электронной почты будет состоять из одного или нескольких знаков, знака «@», еще одного или нескольких знаков, точки и еще одного или нескольких знаков. Например, адрес proverka@example.com будет правильным, а proverka@example,com или proverka@example — нет. Если ввести адрес электронной почты, не соответствующий условию на значение, введенные данные будут отклонены и появится сообщение, указанное в свойстве Сообщение об ошибке. Если свойство Сообщение об ошибке не задано, будет выведено стандартное сообщение.
Свойство | Параметр |
Правило проверки | Is Null Or ((Like «*?@?*.?*») And (Not Like «*[ ,;]*»)) |
Сообщение об ошибке (необязательно) | Введите адрес электронной почты со знаком «@» и полным именем домена (пример: frank@contoso.com). |
Дополнительные сведения о применении правил проверки, а также пошаговые инструкции см. в статье Ограничение ввода данных с помощью правил проверки.
К началу страницы
В этом уроке поговорим на тему «Маска ввода в Microsoft Access». В Access существует возможность ввода данных в определенном формате. Для этого соответствующему полю необходимо задать маску ввода, определяющую формат вводимой информации. Например, можно ограничить диапазон возможных символов, которые могут быть введены в поле, только цифрами или буквами, установить автоматическое преобразование введенного текста к нижнему или верхнему регистру и т.д. В таблице ниже приведен перечень специальных символов, которые используются при формировании маски ввода.
Маска ввода в Microsoft Access
Приведем несколько примеров масок ввода (в колонке Макете показано, как будет выглядеть в поле заготовка для ввода данных, а в колонке Результат показаны итоговые значения полей после ввода данных). Также можно увидеть применение маски ввода, показывая, какой текст вводит пользователь и какой результат будет получен после автоматического преобразования этого текста.
Количество символов «?» в этих масках (20) было выбрано исходя из вероятной максимальной длины встречающихся текстовых значений (фамилий и названий городов). Если в реальной базе встречаются более длинные названия, то количество символов «?» в масках необходимо увеличить, иначе «лишние» введенные символы будут обрезаны.
Коли потребуется ввести нестандартную фамилию (двойную, например Петрова-Водкина), можно временно отключить маску.
Маска ввода в Microsoft Access указывается в строке Маска ввода в разделе Свойства поля окна конструктора таблицы. Она может может задана как непосредственно в этой строке, так и с помощью мастера масок ввода, который вызывается щелчком на кнопке.
В первом окне мастера — Создание масок ввода — имеется список созданных по умолчанию масок ввода. Выбрав один из предлагаемых вариантов и щелкнув в поле Проба, можно увидеть, как будет выглядеть эта маска ввода в Microsoft Access и каким образом будут преобразовываться вводимые данные.
Для создания собственной маски ввода необходимо нажать в диалоговом окне кнопку Список, после чего активизируется окно Настройка масок ввода ввода.
Функционально это не что иное, как обычная форма Access, предусмотренная для заполнения таблицы масок (это можно увидеть по характерной панели управления записями в нижней части формы). Здесь имеются следующие поля:
- Описание — название создаваемой маски;
- Маска ввода — набор символов, непосредственно определяющий маску ввода;
- Заполнитель — символ, выбранный в качестве заполнителя;
- Образцы данных — строка, указанная в качестве примера;
- Тип маски — тип создаваемой маски (текстовый или дата/время).
После того как все поля создаваемой маски заполнены, можно перейти к созданию следующей маски. По аналогии работы с записями, здесь также можно возвращаться к ранее созданным маскам, если в них требуется внести какие-либо изменения. Когда таким образом будут созданы все необходимые маски, нажмите Закрыть, чтобы вернуться к окну мастера. Для завершения работы мастера мастера нажмите Готово. Если хотите просто изменить одну из имеющихся в списке, нужно выделить ее и нажать кнопку Далее — появится следующее окно мастера, в котором можно изменить маску (поле Маска ввода), а также заполнитель отсутствующих символов (выпадающий список Заполнитель). Результат введенных изменений можно увидеть в поле Проба.
После нажатия кнопки Далее появится очередное окно мастера, в котором надо указать, в каком режиме должна храниться данная маска:
- Вместе со знаками маски;
- без знаков маски;
Когда режим определен, нужно нажать кнопку Далее, после этого в завершающем информационном окне мастера просто нажать кнопку Готово.
В результате получим маску, которая состоит из трех частей, разделенных точками с запятой:
«тел. «000-00-00;0;_
где первая часть — непосредственно сама маска;
вторая часть — режим хранения маски (0 — вместе со знаками маски, 1 — без знаков маски);
третья часть — заполнитель отсутствующих символов.
title | keywords | f1_keywords | ms.prod | api_name | ms.assetid | ms.date | ms.localizationpriority |
---|---|---|---|---|---|---|---|
TextBox.InputMask property (Access) | vbaac10.chm11046 | vbaac10.chm11046 | access | Access.TextBox.InputMask | a705c2a4-ff2f-74d1-4a7c-1eade3b00ae8 | 03/01/2019 | medium |
TextBox.InputMask property (Access)
Use the InputMask property to make data entry easier and to control the values that users can enter in a text box control. Read/write String.
Syntax
expression.InputMask
expression A variable that represents a TextBox object.
Remarks
Input masks are helpful for data-entry operations such as an input mask for a Phone Number field that shows you exactly how to enter a new number: (___) ___-____
. It’s often easier to use the Input Mask Wizard to set the property for you.
The InputMask property can contain up to three sections separated by semicolons (;).
Section | Description |
---|---|
First | Specifies the input mask itself; for example, !(999) 999-9999. For a list of characters that you can use to define the input mask, see the following table. |
Second | Specifies whether Microsoft Access stores the literal display characters in the table when you enter data. If you use 0 for this section, all literal display characters (for example, the parentheses in a phone number input mask) are stored with the value; if you enter 1 or leave this section blank, only characters typed into the control are stored. |
Third | Specifies the character that Access displays for the space where you should type a character in the input mask. For this section, you can use any character; to display an empty string, use a space enclosed in quotation marks (» «). |
In Visual Basic, you use a string expression to set this property. For example, the following specifies an input mask for a text box control used for entering a phone number.
Forms!Customers!Telephone.InputMask = "(###) ###-####"
When you create an input mask, you can use special characters to require that certain data be entered (for example, the area code for a phone number) and that other data be optional (such as a telephone extension). These characters specify the type of data, such as a number or character, that you must enter for each character in the input mask.
You can define an input mask by using the following characters.
Character | Description |
---|---|
0 | Digit (0 to 9, entry required; plus [+] and minus [?] signs not allowed). |
9 | Digit or space (entry not required; plus and minus signs not allowed). |
# | Digit or space (entry not required; spaces are displayed as blanks while in Edit mode, but blanks are removed when data is saved; plus and minus signs allowed). |
L | Letter (A to Z, entry required). |
? | Letter (A to Z, entry optional). |
A | Letter or digit (entry required). |
a | Letter or digit (entry optional). |
& | Any character or a space (entry required). |
C | Any character or a space (entry optional). |
. , : ; - / | Decimal placeholder and thousand, date, and time separators. (The actual character used depends on the settings in the Regional Settings Properties dialog box in the Windows Control Panel). |
< | Causes all characters to be converted to lowercase. |
> | Causes all characters to be converted to uppercase. |
! | Causes the input mask to display from right to left, rather than from left to right. Characters typed into the mask always fill it from left to right. You can include the exclamation point anywhere in the input mask. |
| Causes the character that follows to be displayed as the literal character (for example, A is displayed as just A). |
[!NOTE]
Setting the InputMask property to the word «Password» creates a password-entry control. Any character typed in the control is stored as the character but is displayed as an asterisk (*). You use the Password input mask to prevent displaying the typed characters on the screen.
When you type data in a field for which you’ve defined an input mask, the data is always entered in Overtype mode. If you use the Backspace key to delete a character, the character is replaced by a blank space.
If you move text from a field for which you’ve defined an input mask onto the Clipboard, the literal display characters are copied, even if you have specified that they not be saved with data.
[!NOTE]
Only characters that you type directly in a control or combo box are affected by the input mask. Access ignores any input masks when you import data, run an action query, or enter characters in a control by setting the control’s Text property in Visual Basic or by using the SetValue action in a macro.
When you’ve defined an input mask and set the Format property for the same field, the Format property takes precedence when the data is displayed. This means that even if you’ve saved an input mask, the input mask is ignored when data is formatted and displayed. The data in the underlying table itself isn’t changed; the Format property affects only how the data is displayed.
The following table shows some useful input masks and the type of values that you can enter in them.
Input mask | Sample values |
---|---|
(000) 000-0000 | (206) 555-0248 |
(999) 999-9999 | (206) 555-0248, ( ) 555-0248 |
(000) AAA-AAAA | (206) 555-TELE |
#999 | ?20, 2000 |
>L????L?000L0 | GREENGR339M3, MAY R 452B7 |
>L0L 0L0 | T2F 8M4 |
00000-9999 | 98115-, 98115-3007 |
>L<?????????????? | Maria, Brendan |
SSN 000-00-0000 | SSN 555-55-5555 |
>LL00000-0000 | DB51392-0493 |
[!includeSupport and feedback]
title | keywords | f1_keywords | ms.prod | api_name | ms.assetid | ms.date | ms.localizationpriority |
---|---|---|---|---|---|---|---|
TextBox.InputMask property (Access) | vbaac10.chm11046 | vbaac10.chm11046 | access | Access.TextBox.InputMask | a705c2a4-ff2f-74d1-4a7c-1eade3b00ae8 | 03/01/2019 | medium |
TextBox.InputMask property (Access)
Use the InputMask property to make data entry easier and to control the values that users can enter in a text box control. Read/write String.
Syntax
expression.InputMask
expression A variable that represents a TextBox object.
Remarks
Input masks are helpful for data-entry operations such as an input mask for a Phone Number field that shows you exactly how to enter a new number: (___) ___-____
. It’s often easier to use the Input Mask Wizard to set the property for you.
The InputMask property can contain up to three sections separated by semicolons (;).
Section | Description |
---|---|
First | Specifies the input mask itself; for example, !(999) 999-9999. For a list of characters that you can use to define the input mask, see the following table. |
Second | Specifies whether Microsoft Access stores the literal display characters in the table when you enter data. If you use 0 for this section, all literal display characters (for example, the parentheses in a phone number input mask) are stored with the value; if you enter 1 or leave this section blank, only characters typed into the control are stored. |
Third | Specifies the character that Access displays for the space where you should type a character in the input mask. For this section, you can use any character; to display an empty string, use a space enclosed in quotation marks (» «). |
In Visual Basic, you use a string expression to set this property. For example, the following specifies an input mask for a text box control used for entering a phone number.
Forms!Customers!Telephone.InputMask = "(###) ###-####"
When you create an input mask, you can use special characters to require that certain data be entered (for example, the area code for a phone number) and that other data be optional (such as a telephone extension). These characters specify the type of data, such as a number or character, that you must enter for each character in the input mask.
You can define an input mask by using the following characters.
Character | Description |
---|---|
0 | Digit (0 to 9, entry required; plus [+] and minus [?] signs not allowed). |
9 | Digit or space (entry not required; plus and minus signs not allowed). |
# | Digit or space (entry not required; spaces are displayed as blanks while in Edit mode, but blanks are removed when data is saved; plus and minus signs allowed). |
L | Letter (A to Z, entry required). |
? | Letter (A to Z, entry optional). |
A | Letter or digit (entry required). |
a | Letter or digit (entry optional). |
& | Any character or a space (entry required). |
C | Any character or a space (entry optional). |
. , : ; - / | Decimal placeholder and thousand, date, and time separators. (The actual character used depends on the settings in the Regional Settings Properties dialog box in the Windows Control Panel). |
< | Causes all characters to be converted to lowercase. |
> | Causes all characters to be converted to uppercase. |
! | Causes the input mask to display from right to left, rather than from left to right. Characters typed into the mask always fill it from left to right. You can include the exclamation point anywhere in the input mask. |
| Causes the character that follows to be displayed as the literal character (for example, A is displayed as just A). |
[!NOTE]
Setting the InputMask property to the word «Password» creates a password-entry control. Any character typed in the control is stored as the character but is displayed as an asterisk (*). You use the Password input mask to prevent displaying the typed characters on the screen.
When you type data in a field for which you’ve defined an input mask, the data is always entered in Overtype mode. If you use the Backspace key to delete a character, the character is replaced by a blank space.
If you move text from a field for which you’ve defined an input mask onto the Clipboard, the literal display characters are copied, even if you have specified that they not be saved with data.
[!NOTE]
Only characters that you type directly in a control or combo box are affected by the input mask. Access ignores any input masks when you import data, run an action query, or enter characters in a control by setting the control’s Text property in Visual Basic or by using the SetValue action in a macro.
When you’ve defined an input mask and set the Format property for the same field, the Format property takes precedence when the data is displayed. This means that even if you’ve saved an input mask, the input mask is ignored when data is formatted and displayed. The data in the underlying table itself isn’t changed; the Format property affects only how the data is displayed.
The following table shows some useful input masks and the type of values that you can enter in them.
Input mask | Sample values |
---|---|
(000) 000-0000 | (206) 555-0248 |
(999) 999-9999 | (206) 555-0248, ( ) 555-0248 |
(000) AAA-AAAA | (206) 555-TELE |
#999 | ?20, 2000 |
>L????L?000L0 | GREENGR339M3, MAY R 452B7 |
>L0L 0L0 | T2F 8M4 |
00000-9999 | 98115-, 98115-3007 |
>L<?????????????? | Maria, Brendan |
SSN 000-00-0000 | SSN 555-55-5555 |
>LL00000-0000 | DB51392-0493 |
[!includeSupport and feedback]
Синтаксис масок
ввода и примеры
Для облегчения
обработки значений, имеющих фиксированный
шаблон, – например, телефонных номеров
– применяют маску
ввода. Маска
ввода (или маска для краткости)
предоставляет возможность сообщить MS
Access, какой шаблон или образец должны
использовать данные. Основываясь на
этом образце, MS Access изменяет способ
ввода и редактирования значений, делая
их более понятными и менее подверженными
ошибкам.
Маски можно
добавлять для любого поля с текстовым
или дата/время
типом данных. По сравнению с обычным
текстом маски обладают рядом достоинств:
-
Маски управляют
элементом ввода.
Будучи пустым, шаблон маски отображает
символы заполнители, на место которых
должны попасть значения. -
Маски помогают
понять смысл данных.
Гораздо легче читать множество значений,
представленных определенным образом. -
Маски предупреждают
ошибки. Они
отбрасывают символы, не соответствующие
шаблону. -
Маски устраняют
путаницу.
Одни и те же данные многих типов можно
представить несколькими способами.
Такие же преимущества маски дают при
вводе дат, которые можно ввести
разнообразными способами (Год/Месяц/День,
Месяц-День-Год и т.п.).
В приведенной ниже
таблице указано, как MS Access интерпретирует
знаки, содержавшиеся в свойстве Маска
ввода. Чтобы
включить в маску текстовые константы,
отличные от представленных в таблице,
в том числе знаки и пробелы, следует
просто ввести их в нужную позицию. Чтобы
включить один из следующих знаков в
качестве текстовой константы, необходимо
перед ним ввести знак обратной косой
черты ( ).
В приведенной
таблице перечислены и описаны
местозаполнители и текстовые константы,
которые можно использовать в маске
ввода.
Знак | Использование |
0 | Цифра. |
9 | Цифра. |
# | В |
L | Буква. |
? | Буква. |
A | Буква |
a | Буква |
& | Любой |
C | Любой |
. | Разделитель |
> | Все |
< | Все |
! | Маска |
Отображение | |
«Текстовая | Любой |
Пароль | В |
Примеры масок
ввода
Примеры в таблице
демонстрируют некоторые способы
применения масок ввода.
Маска | Обеспечивает | Примечания |
(000) | (206) | В |
(999) | (206) | В |
(000) | (206) | Предоставляется |
#999 | -20 | Любое |
>L????L?000L0 | ЗЕЛЕНЫЙ339М3 МАЙ Р 452Б7 | Сочетание |
00000-9999 | 98115- | Обязательный |
>L<?????????????? | Мария | Имя |
ISBN | ISBN | Учетный |
>LL00000-0000 | БД51392-0493 | Сочетание |
4
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Вы можете помочь пользователям правильно вводить данные в классические базы данных Access, подключив маски ввода к полям, имеющим строго определенный формат значений, например номера телефонов.
Маска влияет только на ввод значений в Access: она не меняет способ их хранения, который записи от типа данных поля и других свойств. Дополнительные сведения о хранении данных в Access см. в статье Введение в типы данных и свойства полей.
Важно: Эта статья относится только к классическим базам данных Access. Веб-приложения и веб-базы данных Access не поддерживают маски ввода.
В этой статье
-
Общие сведения о масках ввода
-
Знаки, определяющие маски ввода
-
Когда следует избегать использования масок ввода в Access
-
Добавление маски ввода в поле таблицы с помощью мастера масок ввода
-
Создание настраиваемых масок ввода
-
Примеры масок ввода
-
Использование масок ввода для адресов электронной почты
Общие сведения о масках ввода
Маска ввода — это строка символов, указывающая формат допустимых значений входных данных. Маски ввода можно использовать в полях таблиц или запросов, а также в элементах управления форм и отчетов. Маска ввода хранится в свойствах объекта.
Маску ввода рекомендуется использовать, когда вводимые значения должны иметь единый формат, например для полей с номерами телефонов из десяти цифр. Если пользователь введет номер, не указав код города, данные не будут приняты в Access, пока пользователь не добавит код города.
Три компонента маски ввода
Маски ввода состоят из одного обязательного и двух необязательных компонентов, разделенных точками с запятой. Назначение каждого из компонентов описано ниже.
-
Первый компонент является обязательным. Он представляет собой знак или строку (последовательность знаков) маски с заполнителями и литералами, например круглыми скобками, точками и дефисами.
-
Второй компонент не является обязательным и определяет способ хранения встроенных знаков маски в поле. Если для этого компонента задано значение 0, знаки сохраняются вместе с данными, а если 1, то знаки отображаются без сохранения. Выбрав значение 1, можно сэкономить место для хранения базы данных.
-
Третий компонент маски ввода также не является обязательным и определяет знак, используемый в качестве заполнителя. По умолчанию в Access используется знак подчеркивания (_). Чтобы задать другой знак, введите его в третьем компоненте маски.
Пример маски ввода для телефонных номеров в формате России: (999) 000-00-00;0;-:
-
В маске используются два заполнителя — 9 и 0. Заполнитель 9 обозначает необязательные цифры (код города можно не вводить), а 0 — обязательные.
-
Значение 0 во втором компоненте маски ввода указывает на то, что знаки маски следует хранить вместе с данными.
-
Третий компонент маски ввода указывает на то, что вместо знака подчеркивания (_) в качестве заполнителя будет использоваться дефис (—).
Знаки, определяющие маски ввода
В приведенной ниже таблице перечислены заполнители и литералы, используемые в масках ввода, и описано их влияние на ввод данных.
Знак | Описание |
0 | Пользователь должен ввести цифру (от 0 до 9). |
9 | Пользователь может ввести цифру (от 0 до 9). |
# | Пользователь может ввести цифру, пробел, знак «плюс» или «минус». Если ничего не ввести, будет вставлен пробел. |
L | Пользователь должен ввести букву. |
? | Пользователь может ввести букву. |
A | Пользователь должен ввести букву или цифру. |
a | Пользователь может ввести букву или цифру. |
& | Пользователь должен ввести какой-либо знак или пробел. |
C | Пользователь может ввести знаки или пробелы. |
. , : ; — / | Разделитель целой и дробной части, групп разрядов, значений дат и времени. Выбираемый знак зависит от региональных параметров Windows. |
> | Все последующие знаки будут переведены в верхний регистр. |
< | Все последующие знаки будут переведены в нижний регистр. |
! | Маска ввода заполняется слева направо, а не справа налево. |
Знаки, следующие непосредственно за обратной косой чертой, отображаются без изменений. | |
«» | Знаки, заключенные в двойные кавычки, отображаются без изменений. |
Когда следует избегать использования масок ввода в Access
Маски ввода — это полезный инструмент, но он уместен не во всех случаях. Не используйте маски ввода, если верно одно из следующих утверждений.
-
Иногда может потребоваться ввести данные в формате, не соответствующему маске. Маска ввода не допускает исключений.
-
Планируется использовать элемент управления «Выбор даты» с полем даты и времени. Маски ввода несовместимы с таким элементом управления.
Добавление маски ввода в поле таблицы с помощью мастера масок ввода
Маски ввода можно использовать для полей с типом данных «Текстовый», «Числовой» (кроме кода репликации), «Денежный» и «Дата/время».
Примечание: Если применить маску ввода к полю с типом данных «Дата/время», для этого поля невозможно будет использовать элемент управления Выбор даты.
-
В области навигации щелкните таблицу правой кнопкой мыши и выберите в контекстном меню команду Конструктор.
-
Выберите поле, к которому необходимо применить маску ввода.
-
В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.
-
Чтобы запустить мастер масок ввода, нажмите кнопку Построить .
-
Выберите нужный тип маски ввода из списка.
-
Щелкните поле Проба и введите данные, чтобы проверить работу маски.
-
Чтобы оставить маску ввода без изменений, нажмите кнопку Далее.
-
Выберите способ хранения данных.
-
Чтобы сохранить изменения, нажмите кнопку Готово.
Добавление маски ввода в запрос
-
В области переходов щелкните правой кнопкой мыши запрос, который требуется изменить, и выберите в контекстном меню команду Конструктор.
-
В бланке запроса установите курсор в столбец поля, которое требуется изменить.
Курсор можно поместить в любую строку для этого поля.
-
Нажмите клавишу F4, чтобы открыть окно свойств поля.
-
В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.
-
Чтобы запустить мастер масок ввода, нажмите кнопку Построить . Следуйте инструкциям мастера.
Добавление маски ввода в элемент управления формы или отчета
-
В области переходов щелкните правой кнопкой мыши форму или отчет, которые требуется изменить, и выберите в контекстном меню команду Конструктор.
-
Щелкните правой кнопкой мыши элемент управления, который требуется изменить, а затем выберите в контекстном меню команду Свойства.
-
На вкладке Все щелкните поле свойства Маска ввода.
-
Чтобы запустить мастер масок ввода, нажмите кнопку Построить . Следуйте инструкциям мастера.
Создание настраиваемых масок ввода
В мастере предусмотрены маски ввода для наиболее распространенных вариантов форматирования, однако в некоторых случаях требуется настроить маску под особые нужды. Чтобы сделать это, можно либо изменить одну из предопределенных масок мастера ввода, либо вручную задать свойство «Маска ввода» для соответствующего поля.
Настройка масок ввода в мастере
-
Откройте объект в конструкторе и щелкните поле, к которому нужно добавить настраиваемую маску ввода.
-
Чтобы запустить мастер масок ввода, нажмите кнопку Построить .
-
Нажмите кнопку Изменить список.
Откроется диалоговое окно Настройка масок ввода.
-
Перейдите к новой записи в этом окне и введите новое описание в поле Описание.
-
В поле Маска ввода введите символы и заполнители с помощью разрешенных знаков из списка таблицы.
-
Щелкните стрелку списка Тип маски: и выберите подходящий тип маски.
-
Нажмите кнопку Закрыть. В списке появится новая маска ввода.
Настройка масок ввода в свойстве поля
-
В области навигации щелкните объект правой кнопкой мыши и выберите в контекстном меню команду Конструктор.
-
Выберите поле, для которого необходимо создать настраиваемую маску ввода.
-
В области «Свойства поля» щелкните поле Маска ввода и введите собственную маску.
-
Чтобы сохранить изменения, нажмите сочетание клавиш CTRL+S.
Для полей числового и денежного типов определение маски ввода задается вручную.
Примеры масок ввода
В таблице ниже приведены примеры использования масок ввода.
Маска ввода | Обеспечивает ввод значения в виде | Примечания |
(000) 000-0000 | (206) 555-0199 | В данном случае пользователи должны вводить код города, так как в соответствующем разделе маски (000 в скобках) используется заполнитель 0. |
(999) 000-0000! | (206) 555-0199 | В этом случае в области междугородного кода используется местозаполнитель 9, поэтому междугородные коды необязательны. Кроме того, восклицательный знак (!) обусловливает заполнение маски слева направо. |
(000) AAA-AAAA | (206) 555-ТЕЛЕ | Предоставляется возможность заменить буквами четыре последних цифры телефонного номера в формате США. Обратите внимание на местозаполнитель 0 в области кода города, который делает междугородный код обязательным. |
#999 | -20 | Любое положительное или отрицательное число, включающее не более четырех знаков и не имеющее разделителей тысяч и дробной части. |
>L????L?000L0 | ЗЕЛЕНЫЙ339М3 | Сочетание обязательных (L) и необязательных (?) букв и обязательных цифр (0). Знак «больше» требует вводить все буквы в верхнем регистре. Чтобы использовать маску ввода этого типа, необходимо задать для типа данных поля таблицы значение Текстовый или Поле МЕМО. |
00000-9999 | 98115- | Обязательный почтовый индекс и необязательная область четырехзначного расширения. |
>L<?????????????? | Мария | Имя или фамилия, первая буква которой автоматически вводится заглавной. |
ISBN 0-&&&&&&&&&-0 | ISBN 1-55615-507-7 | Учетный номер книги с текстовой константой, обязательными первой и последней цифрами и произвольной комбинацией букв и знаков между ними. |
>LL00000-0000 | БД51392-0493 | Сочетание обязательных букв и цифр, все в верхнем регистре. Данный тип маски ввода помогает, например, правильно вводить инвентарные номера или заполнять другие формы складского учета. |
Использование масок ввода для адресов электронной почты
Поскольку адреса электронной почты могут быть самой разной длины, маски ввода не подходят для их проверки при вводе. Вместо масок ввода рекомендуется использовать свойства Правило проверки и Сообщение об ошибке.
Условие на значение, приведенное в таблице ниже, гарантирует, что адрес электронной почты будет состоять из одного или нескольких знаков, знака «@», еще одного или нескольких знаков, точки и еще одного или нескольких знаков. Например, адрес proverka@example.com будет правильным, а proverka@example,com или proverka@example — нет. Если ввести адрес электронной почты, не соответствующий условию на значение, введенные данные будут отклонены и появится сообщение, указанное в свойстве Сообщение об ошибке. Если свойство Сообщение об ошибке не задано, будет выведено стандартное сообщение.
Свойство | Параметр |
Правило проверки | Is Null Or ((Like «*?@?*.?*») And (Not Like «*[ ,;]*»)) |
Сообщение об ошибке (необязательно) | Введите адрес электронной почты со знаком «@» и полным именем домена (пример: frank@contoso.com). |
Дополнительные сведения о применении правил проверки, а также пошаговые инструкции см. в статье Ограничение ввода данных с помощью правил проверки.
28.05.2017
И
Комментариев нет
269
Как правильно создать маску ввода в Access для номера телефона?
КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: https://goo.gl/zgcfyg
ВКонтакте: http://vk.com/access_007
Google+: https://goo.gl/gsX4ym
Twitter: https://twitter.com/AndreyDomostoy
Facebook: https://www.facebook.com/groups/1220494128009052
Маска ввода упрощает процесс ввода данных.
Маска ввода – формат, состоящий из постоянных символов (скобки, точки или дефисы) и специальных символов маски, указывающих, в какие позиции, в каком количестве и какого типа данные могут быть введены.
Маски эффективны для данных небольшой длины и достаточно информативных.
Маска ввода имеет три раздела, разделённых точкой с запятой, например, 00.00.0000;1;_. Первый раздел содержит символы для заполнения 00.00.0000; второй и третий разделы необязательны. Если укажем во втором разделе 1 или оставим его пустым, программа будет хранить только символы, если укажем 0, то в поле будут храниться как введённые символы, так и символы маски. Третий раздел указывает заполнитель для вводимых символов, при его отсутствии по умолчанию заполнителем является знак подчёркивания.
В приведенной ниже таблице указано, как Microsoft Access интерпретирует знаки, содержащиеся в свойстве Маска ввода вкладки Общие режима конструктора. Чтобы включить в маску текстовые константы, отличные от представленных в таблице, в том числе знаки и пробелы, следует просто ввести их в нужную позицию. Чтобы включить один из следующих знаков в качестве текстовой константы, необходимо перед ним ввести знак обратной косой черты (). Чтобы включить в текстовую константу несколько знаков, их надо заключить в кавычки (“”).
Если добавлять маску ввода в существующую таблицу, она не будет автоматически обнаруживать некорректные с её точки зрения данные и не удалит их.Можно задать свою маску ввода и сохранить её в Access. Для этого надо нажать кнопку “Список” в окне мастера масок и дальше действовать по ходу.