Вы можете помочь пользователям правильно вводить данные в классические базы данных Access, подключив маски ввода к полям, имеющим строго определенный формат значений, например номера телефонов.
Маска ввода влияет только на то, принимает ли Access данные. Маска не изменяет способ хранения данных, который управляется типом данных поля и другими свойствами. Дополнительные сведения о хранении данных в Access см. в статье Введение в типы данных и свойства полей.
В этой статье
- Общие сведения о масках ввода
- Знаки, определяющие маски ввода
- Когда следует избегать использования масок ввода в Access
- Добавление маски ввода в поле таблицы с помощью мастера масок ввода
- Создание настраиваемых масок ввода
- Примеры масок ввода
- Использование масок ввода для адресов электронной почты
Общие сведения о масках ввода
Маска ввода — это строка символов, указывающая формат допустимых значений входных данных. Маски ввода можно использовать в полях таблиц или запросов, а также в элементах управления форм и отчетов. Маска ввода хранится в свойствах объекта.
Маска ввода используется, если важно, чтобы формат входных значений был согласован. например для полей с номерами телефонов из десяти цифр. Если кто-то вводит номер телефона без кода региона, Access не будет записывать данные до тех пор, пока не будут добавлены данные кода региона.
Три компонента маски ввода
Маски ввода состоят из одного обязательного и двух необязательных компонентов, разделенных точками с запятой. Назначение каждого из компонентов описано ниже.
- Первый компонент является обязательным. Он представляет собой знак или строку (последовательность знаков) маски с заполнителями и литералами, например круглыми скобками, точками и дефисами.
- Второй компонент не является обязательным и определяет способ хранения встроенных знаков маски в поле. Если для этого компонента задано значение 0, знаки сохраняются вместе с данными, а если 1, то знаки отображаются без сохранения. Выбрав значение 1, можно сэкономить место для хранения базы данных.
- Третий компонент маски ввода также не является обязательным и определяет знак, используемый в качестве заполнителя. По умолчанию в Access используется знак подчеркивания (_). Чтобы задать другой знак, введите его в третьем компоненте маски.
Например, это маска ввода для телефонных номеров в формате США: (999) 000-000; 0;-:
- В маске используются два заполнителя — 9 и 0. Заполнитель 9 обозначает необязательные цифры (код города можно не вводить), а 0 — обязательные.
- Значение 0 во втором компоненте маски ввода указывает на то, что знаки маски следует хранить вместе с данными.
- Третья часть маски ввода указывает, что в качестве заполнителя будет использоваться дефис (-) вместо символа подчеркивания (_).
Знаки, определяющие маски ввода
В приведенной ниже таблице перечислены заполнители и литералы, используемые в масках ввода, и описано их влияние на ввод данных.
| Знак | Описание |
|---|---|
| 0 | Пользователь должен ввести цифру (от 0 до 9). |
| 9 | Пользователь может ввести цифру (от 0 до 9). |
| # | Пользователь может ввести цифру, пробел, знак "плюс" или "минус". Если ничего не ввести, будет вставлен пробел. |
| L | Пользователь должен ввести букву. |
| ? | Пользователь может ввести букву. |
| A | Пользователь должен ввести букву или цифру. |
| a | Пользователь может ввести букву или цифру. |
| & | Пользователь должен ввести какой-либо знак или пробел. |
| C | Пользователь может ввести знаки или пробелы. |
| . , : ; - / | Разделитель целой и дробной части, групп разрядов, значений дат и времени. Выбранный символ зависит от региональных параметров MicrosoftWindows. |
| > | Все последующие знаки будут переведены в верхний регистр. |
| < | Все последующие знаки будут переведены в нижний регистр. |
| ! | Маска ввода заполняется слева направо, а не справа налево. |
| \ | Знаки, следующие непосредственно за обратной косой чертой, отображаются без изменений. |
| "" | Знаки, заключенные в двойные кавычки, отображаются без изменений. |
Когда следует избегать использования масок ввода в Access
Маски ввода — это полезный инструмент, но он уместен не во всех случаях. Не используйте маску ввода, если к вам применяются следующие обстоятельства:
- People иногда нужно вводить данные, которые не соответствуют маске. Маска ввода не допускает исключений.
- Планируется использовать элемент управления "Выбор даты" с полем даты и времени. Маски ввода несовместимы с таким элементом управления.
Добавление маски ввода в поле таблицы с помощью мастера масок ввода
Маски ввода можно использовать для полей с типом данных "Текстовый", "Числовой" (кроме кода репликации), "Денежный" и "Дата/время".
Примечание
Если применить маску ввода к полю с типом данных "Дата/время", для этого поля невозможно будет использовать элемент управления Выбор даты.
- В области навигации щелкните таблицу правой кнопкой мыши и выберите в контекстном меню команду Конструктор.
- Выберите поле, к которому необходимо применить маску ввода.
- В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.
- Нажмите
кнопки Сборка, чтобы запустить мастер маски ввода. - Выберите нужный тип маски ввода из списка.
- Щелкните поле Проба и введите данные, чтобы проверить работу маски.
- Чтобы оставить маску ввода без изменений, нажмите кнопку Далее.
- Выберите способ хранения данных.
- Чтобы сохранить изменения, нажмите кнопку Готово.
Добавление маски ввода в запрос
- В области переходов щелкните правой кнопкой мыши запрос, который требуется изменить, и выберите в контекстном меню команду Конструктор.
- В бланке запроса установите курсор в столбец поля, которое требуется изменить.
Курсор можно поместить в любую строку для этого поля. - Нажмите клавишу F4, чтобы открыть окно свойств поля.
- В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.
- Нажмите
кнопки Сборка, чтобы запустить мастер маски ввода, а затем следуйте инструкциям мастера.
Добавление маски ввода в элемент управления формы или отчета
- В области переходов щелкните правой кнопкой мыши форму или отчет, которые требуется изменить, и выберите в контекстном меню команду Конструктор.
- Щелкните правой кнопкой мыши элемент управления, который требуется изменить, а затем выберите в контекстном меню команду Свойства.
- На вкладке Все щелкните поле свойства Маска ввода.
- Нажмите
кнопки Сборка, чтобы запустить мастер маски ввода, а затем следуйте инструкциям мастера.
Создание настраиваемых масок ввода
В мастере предусмотрены маски ввода для наиболее распространенных вариантов форматирования, однако в некоторых случаях требуется настроить маску под особые нужды. Чтобы сделать это, можно либо изменить одну из предопределенных масок мастера ввода, либо вручную задать свойство "Маска ввода" для соответствующего поля.
Настройка масок ввода в мастере
- Откройте объект в конструкторе и щелкните поле, к которому нужно добавить настраиваемую маску ввода.
- Нажмите
сборки, чтобы запустить мастер маски ввода. - Нажмите кнопку Изменить список.
Откроется диалоговое окно Настройка масок ввода. - Перейдите к новой записи в этом окне и введите новое описание в поле Описание.
- В поле Маска ввода введите символы и заполнители с помощью разрешенных знаков из списка таблицы.
- Щелкните стрелку списка Тип маски: и выберите подходящий тип маски.
- Нажмите кнопку Закрыть. В списке появится новая маска ввода.
Настройка масок ввода в свойстве поля
- В области навигации щелкните объект правой кнопкой мыши и выберите в контекстном меню команду Конструктор.
- Выберите поле, для которого необходимо создать настраиваемую маску ввода.
- В области "Свойства поля" щелкните поле Маска ввода и введите собственную маску.
- Чтобы сохранить изменения, нажмите сочетание клавиш CTRL+S.
Для полей числового и денежного типов определение маски ввода задается вручную.
Примеры масок ввода
В таблице ниже приведены примеры использования масок ввода.
| Маска ввода | Обеспечивает ввод значения в виде | Примечания |
|---|---|---|
| (000) 000-0000 | (206) 555-0199 | В данном случае пользователи должны вводить код города, так как в соответствующем разделе маски (000 в скобках) используется заполнитель 0. |
| (999) 000-0000! | (206) 555-0199 ( ) 555-0199 |
В этом случае в области междугородного кода используется местозаполнитель 9, поэтому междугородные коды необязательны. Кроме того, восклицательный знак (!) обусловливает заполнение маски слева направо. |
| (000) AAA-AAAA | (206) 555-ТЕЛЕ | Предоставляется возможность заменить буквами четыре последних цифры телефонного номера в формате США. Обратите внимание на местозаполнитель 0 в области кода города, который делает междугородный код обязательным. |
| #999 | -20 2000 |
Любое положительное или отрицательное число, включающее не более четырех знаков и не имеющее разделителей тысяч и дробной части. |
| >L???? L?000L0 | GREENGR339M3 МАЙ R 452B7 |
Сочетание обязательных (L) и необязательных (?) букв и обязательных цифр (0). Знак "больше" требует вводить все буквы в верхнем регистре. Чтобы использовать маску ввода этого типа, необходимо задать для типа данных поля таблицы значение Текстовый или Поле МЕМО. |
| 00000-9999 | 98115- 98115-3007 |
Обязательный почтовый индекс и необязательная область четырехзначного расширения. |
| >L<?????????????? | Maria Пьер |
Имя или фамилия, первая буква которой автоматически вводится заглавной. |
| ISBN 0-&&&&&&&&&-0 | ISBN 1-55615-507-7 | Учетный номер книги с текстовой константой, обязательными первой и последней цифрами и произвольной комбинацией букв и знаков между ними. |
| >LL00000-0000 | БД51392-0493 | Сочетание обязательных букв и цифр, все в верхнем регистре. Данный тип маски ввода помогает, например, правильно вводить инвентарные номера или заполнять другие формы складского учета. |
Использование масок ввода для адресов электронной почты
Поскольку адреса электронной почты могут быть самой разной длины, маски ввода не подходят для их проверки при вводе. Вместо масок ввода рекомендуется использовать свойства Правило проверки и Сообщение об ошибке.
Правило проверки, показанное в следующей таблице, гарантирует, что адрес электронной почты вводится одним или несколькими символами, знаком "@", а затем одним или несколькими символами, точкой и одним или несколькими символами. Например, tom@example.com будет разрешено, но tom@example,com или tom@example не будет. Если ввести адрес электронной почты, который не соответствует правилу проверки, Access не примет входные данные и отобразит сообщение в свойстве Текст проверки . Если свойство Сообщение об ошибке не задано, будет выведено стандартное сообщение.
| Свойство | Параметр |
|---|---|
| Правило проверки | Is Null Or ((Like "*?@?*.?*") And (Not Like "*[ ,;]*")) |
| Текст проверки (необязательно) | Введите адрес электронной почты со знаком "@" и полным доменным именем (например, "frank@contoso.com"). |
Дополнительные сведения о применении правил проверки, а также пошаговые инструкции см. в статье Ограничение ввода данных с помощью правил проверки.