OfficePackage.info Неофициальный сайт

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

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

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

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

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

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

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

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

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

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

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

Знак

Описание

0

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

9

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

#

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

L

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

?

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

A

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

a

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

&

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

C

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

. , : ; - /

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

>

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

<

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

!

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

\

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

“”

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


Notice: Undefined index: HTTP_ACCEPT_ENCODING in /var/www/officepackag_usr/data/www/officepackage.info/engine/cache/system/plugins/41aa5cb85552104d78fe0e5093325d82.php on line 2663 Notice: Undefined index: HTTP_ACCEPT_ENCODING in /var/www/officepackag_usr/data/www/officepackage.info/engine/cache/system/plugins/41aa5cb85552104d78fe0e5093325d82.php on line 2664