Как сделать маску ввода в access
Перейти к содержимому

Как сделать маску ввода в access

  • автор:

Как сделать маску ввода в access

Вы можете помочь пользователям правильно вводить данные в классические базы данных Access, подключив маски ввода к полям, имеющим строго определенный формат значений, например номера телефонов.

Маска влияет только на ввод значений в Access: она не меняет способ их хранения, который записи от типа данных поля и других свойств. Дополнительные сведения о хранении данных в Access см. в статье Введение в типы данных и свойства полей.

Важно: Эта статья относится только к классическим базам данных Access. Веб-приложения и веб-базы данных Access не поддерживают маски ввода.

В этой статье

Общие сведения о масках ввода

Маска ввода — это строка символов, указывающая формат допустимых значений входных данных. Маски ввода можно использовать в полях таблиц или запросов, а также в элементах управления форм и отчетов. Маска ввода хранится в свойствах объекта.

Маску ввода рекомендуется использовать, когда вводимые значения должны иметь единый формат, например для полей с номерами телефонов из десяти цифр. Если пользователь введет номер, не указав код города, данные не будут приняты в Access, пока пользователь не добавит код города.

Три компонента маски ввода

Маски ввода состоят из одного обязательного и двух необязательных компонентов, разделенных точками с запятой. Назначение каждого из компонентов описано ниже.

Первый компонент является обязательным. Он представляет собой знак или строку (последовательность знаков) маски с заполнителями и литералами, например круглыми скобками, точками и дефисами.

Второй компонент не является обязательным и определяет способ хранения встроенных знаков маски в поле. Если для этого компонента задано значение 0, знаки сохраняются вместе с данными, а если 1, то знаки отображаются без сохранения. Выбрав значение 1, можно сэкономить место для хранения базы данных.

Третий компонент маски ввода также не является обязательным и определяет знак, используемый в качестве заполнителя. По умолчанию в Access используется знак подчеркивания (_). Чтобы задать другой знак, введите его в третьем компоненте маски.

Пример маски ввода для телефонных номеров в формате России: (999) 000-00-00;0;-:

В маске используются два заполнителя — 9 и 0. Заполнитель 9 обозначает необязательные цифры (код города можно не вводить), а 0 — обязательные.

Значение 0 во втором компоненте маски ввода указывает на то, что знаки маски следует хранить вместе с данными.

Третий компонент маски ввода указывает на то, что вместо знака подчеркивания (_) в качестве заполнителя будет использоваться дефис ().

Знаки, определяющие маски ввода

В приведенной ниже таблице перечислены заполнители и литералы, используемые в масках ввода, и описано их влияние на ввод данных.

Пользователь должен ввести цифру (от 0 до 9).

Пользователь может ввести цифру (от 0 до 9).

Пользователь может ввести цифру, пробел, знак «плюс» или «минус». Если ничего не ввести, будет вставлен пробел.

Пользователь должен ввести букву.

Пользователь может ввести букву.

Пользователь должен ввести букву или цифру.

Пользователь может ввести букву или цифру.

Пользователь должен ввести какой-либо знак или пробел.

Пользователь может ввести знаки или пробелы.

Разделитель целой и дробной части, групп разрядов, значений дат и времени. Выбираемый знак зависит от региональных параметров Windows.

Все последующие знаки будут переведены в верхний регистр.

Все последующие знаки будут переведены в нижний регистр.

Маска ввода заполняется слева направо, а не справа налево.

Знаки, следующие непосредственно за обратной косой чертой, отображаются без изменений.

Знаки, заключенные в двойные кавычки, отображаются без изменений.

Когда следует избегать использования масок ввода в Access

Маски ввода — это полезный инструмент, но он уместен не во всех случаях. Не используйте маски ввода, если верно одно из следующих утверждений.

Иногда может потребоваться ввести данные в формате, не соответствующему маске. Маска ввода не допускает исключений.

Планируется использовать элемент управления «Выбор даты» с полем даты и времени. Маски ввода несовместимы с таким элементом управления.

Добавление маски ввода в поле таблицы с помощью мастера масок ввода

Маски ввода можно использовать для полей с типом данных «Текстовый», «Числовой» (кроме кода репликации), «Денежный» и «Дата/время».

Примечание: Если применить маску ввода к полю с типом данных «Дата/время», для этого поля невозможно будет использовать элемент управления Выбор даты.

В области навигации щелкните таблицу правой кнопкой мыши и выберите в контекстном меню команду Конструктор.

Выберите поле, к которому необходимо применить маску ввода.

В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.

Чтобы запустить мастер масок ввода, нажмите кнопку Построить .

Выберите нужный тип маски ввода из списка.

Мастер масок ввода в классической базе данных Access

Щелкните поле Проба и введите данные, чтобы проверить работу маски.

Чтобы оставить маску ввода без изменений, нажмите кнопку Далее.

Выберите способ хранения данных.

Чтобы сохранить изменения, нажмите кнопку Готово.

Добавление маски ввода в запрос

В области переходов щелкните правой кнопкой мыши запрос, который требуется изменить, и выберите в контекстном меню команду Конструктор.

В бланке запроса установите курсор в столбец поля, которое требуется изменить.

Курсор можно поместить в любую строку для этого поля.

Нажмите клавишу F4, чтобы открыть окно свойств поля.

В разделе Свойства поля на вкладке Общие щелкните поле свойства Маска ввода.

Чтобы запустить мастер масок ввода, нажмите кнопку Построить . Следуйте инструкциям мастера.

Добавление маски ввода в элемент управления формы или отчета

В области переходов щелкните правой кнопкой мыши форму или отчет, которые требуется изменить, и выберите в контекстном меню команду Конструктор.

Щелкните правой кнопкой мыши элемент управления, который требуется изменить, а затем выберите в контекстном меню команду Свойства.

На вкладке Все щелкните поле свойства Маска ввода.

Чтобы запустить мастер масок ввода, нажмите кнопку Построить . Следуйте инструкциям мастера.

Создание настраиваемых масок ввода

В мастере предусмотрены маски ввода для наиболее распространенных вариантов форматирования, однако в некоторых случаях требуется настроить маску под особые нужды. Чтобы сделать это, можно либо изменить одну из предопределенных масок мастера ввода, либо вручную задать свойство «Маска ввода» для соответствующего поля.

Настройка масок ввода в мастере

Откройте объект в конструкторе и щелкните поле, к которому нужно добавить настраиваемую маску ввода.

Чтобы запустить мастер масок ввода, нажмите кнопку Построить .

Нажмите кнопку Изменить список.

Откроется диалоговое окно Настройка масок ввода.

Перейдите к новой записи в этом окне и введите новое описание в поле Описание.

В поле Маска ввода введите символы и заполнители с помощью разрешенных знаков из списка таблицы.

Щелкните стрелку списка Тип маски: и выберите подходящий тип маски.

Нажмите кнопку Закрыть. В списке появится новая маска ввода.

Настройка масок ввода в свойстве поля

В области навигации щелкните объект правой кнопкой мыши и выберите в контекстном меню команду Конструктор.

Выберите поле, для которого необходимо создать настраиваемую маску ввода.

В области «Свойства поля» щелкните поле Маска ввода и введите собственную маску.

Чтобы сохранить изменения, нажмите сочетание клавиш CTRL+S.

Для полей числового и денежного типов определение маски ввода задается вручную.

Примеры масок ввода

В таблице ниже приведены примеры использования масок ввода.

Маска ввода

Обеспечивает ввод значения в виде

В данном случае пользователи должны вводить код города, так как в соответствующем разделе маски (000 в скобках) используется заполнитель 0.

(206) 555-0199
( ) 555-0199

В этом случае в области междугородного кода используется местозаполнитель 9, поэтому междугородные коды необязательны. Кроме того, восклицательный знак (!) обусловливает заполнение маски слева направо.

Предоставляется возможность заменить буквами четыре последних цифры телефонного номера в формате США. Обратите внимание на местозаполнитель 0 в области кода города, который делает междугородный код обязательным.

Любое положительное или отрицательное число, включающее не более четырех знаков и не имеющее разделителей тысяч и дробной части.

ЗЕЛЕНЫЙ339М3
МАЙ Р 452Б7

Сочетание обязательных (L) и необязательных (?) букв и обязательных цифр (0). Знак «больше» требует вводить все буквы в верхнем регистре. Чтобы использовать маску ввода этого типа, необходимо задать для типа данных поля таблицы значение Текстовый или Поле МЕМО.

Обязательный почтовый индекс и необязательная область четырехзначного расширения.

Имя или фамилия, первая буква которой автоматически вводится заглавной.

Учетный номер книги с текстовой константой, обязательными первой и последней цифрами и произвольной комбинацией букв и знаков между ними.

Сочетание обязательных букв и цифр, все в верхнем регистре. Данный тип маски ввода помогает, например, правильно вводить инвентарные номера или заполнять другие формы складского учета.

Использование масок ввода для адресов электронной почты

Поскольку адреса электронной почты могут быть самой разной длины, маски ввода не подходят для их проверки при вводе. Вместо масок ввода рекомендуется использовать свойства Правило проверки и Сообщение об ошибке.

Условие на значение, приведенное в таблице ниже, гарантирует, что адрес электронной почты будет состоять из одного или нескольких знаков, знака «@», еще одного или нескольких знаков, точки и еще одного или нескольких знаков. Например, адрес proverka@example.com будет правильным, а proverka@example,com или proverka@example — нет. Если ввести адрес электронной почты, не соответствующий условию на значение, введенные данные будут отклонены и появится сообщение, указанное в свойстве Сообщение об ошибке. Если свойство Сообщение об ошибке не задано, будет выведено стандартное сообщение.

Is Null Or ((Like «*?@?*.?*») And (Not Like «*[ ,;]*»))

Сообщение об ошибке (необязательно)

Введите адрес электронной почты со знаком «@» и полным именем домена (пример: frank@contoso.com).

Дополнительные сведения о применении правил проверки, а также пошаговые инструкции см. в статье Ограничение ввода данных с помощью правил проверки.

Управление форматами ввода данных с помощью масок ввода в Access 2019

Вы можете помочь правильному вводу данных пользователями в классических БД Access, привязав соответствующие маски ввода к полям, которые имеют строго заданный формат значений, к примеру, телефонные номера.

Маска оказывает воздействие лишь на процесс ввода искомых значений в СУБД Access: она никоим образом не воздействует на способ их хранения, контролируемый, в свою очередь, типом данных соответствующего поля и другими свойствами.

Общая информация о задании масок ввода

Маска ввода является строкой символов, указывающей на формат допустимых значений входной информации. Вы можете применять маски ввода в запросах или полях таблиц, а также в элементах управления отчетов и форм. Исходная маска ввода сберегается в свойствах объекта.

Проектировщики БД рекомендуют применять маску ввода в тех случаях, когда вводимые значения должны обладать единым форматом, к примеру, когда значения полей предполагают наличие номеров телефонов из десяти цифр. Если пользователь укажет номер без ввода кода города, данные не будут восприняты СУБД до тех пор, пока пользователь не укажет в значении поля искомый код города.

Три базовых компонента маски ввода

Маски ввода включают в себя два необязательных и один обязательный компонент, которые разделяются при помощи точки с запятой. Ниже мы приводим назначение каждого из указанных выше компонентов:

  • Первый из компонентов должен быть использован на постоянной основе. По существу, данный компонент является знаком или строкой (последовательностью знаков) маски с литералами и заполнителями, к примеру, дефисами, точками и круглыми скобками.
  • Второй компонент служит для определения способа хранения встроенных знаков маски в поле и не является обязательным. Если значение этого компонента равно 1, знаки отображаются на экране без сохранения соответствующих данных, а если 0 — знаки сохраняются вместе с данными. При выборе искомого значения 1, вам удастся сэкономить пространство для хранения БД.
  • Третий составляющий маски ввода также не является обязательным параметром и отвечает за определение того знака, который используется в качестве заполнителя. По умолчанию в СУБД Access задействуется знак подчеркивания (_). Для указания другого знака, введите его в третьей компонентной составляющей маски.

Знаки, которые определяют маски ввода

В указанной далее таблице перечислены литералы и заполнители, которые используются в масках ввода. В дополнение, описание сопровождается информацией об их влиянии на ввод данных.

Пользователь обязан ввести одну цифру (от 0 до 9)

Пользователю предлагается (в необязательном порядке) ввести одну цифру (от 0 до 9)

Пользователь способен ввести знак “минус” или “плюс”, пробел или цифру. Если пользователь ничего не введет, вместо символа будет вставлен пробел.

Пользователь обязан ввести одну букву.

Пользователю предлагается ввести одну букву.

Пользователь обязан ввести одну цифру или букву.

Пользователю предлагается ввести одну цифру или букву.

Пользователь обязан ввести пробел либо какой-нибудь знак.

Пользователю предлагается ввести пробелы либо знаки.

Разделитель значений времени и дат, групп разрядов, дробной и целой части. Выбираемый знак во многом зависит от региональных настроек среды Windows.

Все дальнейшие знаки будут трансформированы в верхний регистр.

Все дальнейшие знаки будут трансформированы в нижний регистр.

Маска ввода заполняется в обратном порядке: не справа налево, а слева направо.

Знаки, идущие в описании формата маски буквально за косой чертой, будут отображены без изменений

Знаки, которые заключены в двойные кавычки, будут отображены без изменений.

Access 2016: Create an Input Mask

The Input Mask Wizard helps you create an input mask. An input mask restricts how data is entered into the database.

In MS Access 2016, you can use the Input Mask Wizard to create an input mask. An is a set of simple rules that specifies the format in which data can be entered into a field.

For example, an input mask of (999) 000-0000 could be used to determine how phone numbers are entered. In this example, the area code is optional, but the rest of the number is must be entered. This is because, with any input mask, a 9 specifies an optional number, a 0 specifies a mandatory number.

Using the Input Mask Wizard

We’re now going to apply an input mask to the ReleaseDate field of our Albums table. Our input mask will ensure that users enter each album’s realease date in the correct format.

Open the Albums table and Launch the Input Mask Wizard

Open the Albums table in Design View.

Click on the ReleaseDate field then look to the bottom frame. The bottom frame displays the properties for this field.

In the bottom frame, click somewhere in the Input Mask row. A small button with three dots will appear. This button launches the Input Mask Wizard.

Click that little [. ] button with the three dots.

Select an Input Mask

The Input Wizard Mask presents you with some options for how you’d like the data to be entered. You can select any option and test it in the Try It field at the bottom of the wizard.

Select Medium Date and click Next > .

Customize the Input Mask

This screen allows you to make adjustments to the input mask. You can test any adjustments in the Try It field at the bottom of the wizard.

We’ll make one minor adjustment.

Add two zeros, so that the input mask becomes: 99->L<LL-0000

This will ensure the user enters the date as DD-MMM-YYYY . For example, 20-Mar-2016 .

Once you’re happy with the input mask, click Next > .

Close the Input Mask Wizard

The Input Mask Wizard will show you one last screen (and give you one last chance to go back to change your input mask).

Click Finish instead.

Your newly created Input Mask

Once the Input Mask Wizard closes, you’ll see your newly created input mask against the Input Mask property in Design View.

Our Input Mask Explained

We just created an input mask that looks like this: 99->L<LL-0000

This specifies how the date should be entered. Here’s an break down of each part:

Defining Input Masks

To assist you in entering formatted data, Access 2010 allows you to define an input mask for Text, Number (except Replication ID), Date/Time, and Currency data types. You can use an input mask to do something as simple as forcing all letters entered to be uppercase or as complex as adding parentheses and hyphens to phone numbers. You create an input mask by using the special mask definition characters shown in Table-6. You can also embed strings of characters that you want to display for formatting or store in the data field.

An input mask consists of three parts, separated by semicolons. The first part defines the mask string using mask definition characters and embedded literal data. The optional second part indicates whether you want the embedded literal characters stored in the field in the database. Set this second part to 0 to store the characters or to 1 to store only the data entered. The optional third part defines a single character that Access 2010 uses as a placeholder to indicate positions where data can be entered. The default placeholder character is an underscore (_).

Perhaps the best way to learn to use input masks is to take advantage of the Input Mask Wizard. In the Companies table of the Contact Tracking database, the PhoneNumber field could benefit from the use of an input mask. Click the PhoneNumber field in the upper part of the Table window in Design view, and then click in the Input Mask property box in the lower part of the window. You should see a small button with three dots on it (called the Build button) to the right of the property box.

Please enable JavaScript

Click the Build button to start the Input Mask Wizard. If you haven’t already saved the table, the wizard will insist that you do so. Save the table and name it Companies. When Access 2010 warns you that you have not defined a primary key and asks if you want to create a primary key now, click No. We’ll define a primary key in the next section. On the first page, the wizard gives you a number of choices for standard input masks that it can generate for you. In this case, click the first one in the list-Phone Number. Note that you can type something in the Try It box below the Input Mask list to test the mask.

Click Next to go to the next page. On this page, you can see the mask name, the proposed mask string, a list from which you select the placeholder character, and another Try It box. The default underscore character (_) works well as a placeholder character for phone numbers.

Click Next to go to the next page, where you can choose whether you want the data stored without the formatting characters (the default) or stored with the parentheses, spaces, and hyphen separator.

Remember Although an input mask can be very useful to help guide the user to enter valid data, if you define an input mask incorrectly or do not consider all possible valid values, you can prevent the user from entering necessary data.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *