В каком объекте msaccessв режиме конструктор можно установить свойство поля маска ввода

Обновлено: 01.05.2024

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

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

Количество символов «?» в этих масках (20) было выбрано исходя из вероятной максимальной длины встречающихся текстовых значений (фамилий и названий городов). Если в реальной базе встречаются более длинные названия, то количество символов «?» в масках необходимо увеличить, иначе «лишние» введенные символы будут обрезаны.

Коли потребуется ввести нестандартную фамилию (двойную, например Петрова-Водкина), можно временно отключить маску.

Маска ввода в Microsoft Access указывается в строке Маска ввода в разделе Свойства поля окна конструктора таблицы. Она может задана как непосредственно в этой строке, так и с помощью мастера масок ввода, который вызывается щелчком на кнопке.

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

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

Функционально это не что иное, как обычная форма Access, предусмотренная для заполнения таблицы масок (это можно увидеть по характерной панели управления записями в нижней части формы). Здесь имеются следующие поля:

* Описание — название создаваемой маски;

* Маска ввода — набор символов, непосредственно определяющий маску ввода;

* Заполнитель — символ, выбранный в качестве заполнителя;

* Образцы данных — строка, указанная в качестве примера;

* Тип маски — тип создаваемой маски (текстовый или дата/время).

После того как все поля создаваемой маски заполнены, можно перейти к созданию следующей маски. По аналогии работы с записями, здесь также можно возвращаться к ранее созданным маскам, если в них требуется внести какие-либо изменения. Когда таким образом будут созданы все необходимые маски, нажмите Закрыть, чтобы вернуться к окну мастера. Для завершения работы мастера мастера нажмите Готово. Если хотите просто изменить одну из имеющихся в списке, нужно выделить ее и нажать кнопку Далее — появится следующее окно мастера, в котором можно изменить маску (поле Маска ввода), а также заполнитель отсутствующих символов (выпадающий список Заполнитель). Результат введенных изменений можно увидеть в поле Проба.

После нажатия кнопки Далее появится очередное окно мастера, в котором надо указать, в каком режиме должна храниться данная маска:

* Вместе со знаками маски;

* без знаков маски;

Когда режим определен, нужно нажать кнопку Далее, после этого в завершающем информационном окне мастера просто нажать кнопку Готово.

В результате получим маску, которая состоит из трех частей, разделенных точками с запятой:

где первая часть — непосредственно сама маска;

вторая часть — режим хранения маски (0 — вместе со знаками маски, 1 — без знаков маски);

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

Синтаксис

выражения. InputMask

выражение Переменная, представляющие объект TextBox .

Примечания

Свойство InputMask может содержать до трех разделов, разделенных запятой (;).

Section Описание
Первый Указывает сам входной маски; Например! (999) 999-9999. Список символов, которые можно использовать для определения маски ввода, см. в следующей таблице.
Секунды Указывает, сохраняет ли Microsoft Access буквальные символы отображения в таблице при вводе данных. Если для этого раздела используется 0, все буквальные символы отображения (например, скобки в маске ввода номера телефона) сохраняются со значением; Если введите 1 или оставьте этот раздел пустым, сохраняются только символы, введите в управление.
Третий Указывает символ, отображаемый в Access для пространства, в котором необходимо ввести символ в маске ввода. В этом разделе можно использовать любой символ; чтобы отобразить пустую строку, используйте пространство, заключенное в кавычках ("").

В Visual Basic для этого свойства используется строковая экспрессия. Например, ниже указана маска ввода для управления текстовым полем, используемого для ввода номера телефона.

При создании маски ввода можно использовать специальные символы, чтобы требовать ввода определенных данных (например, кода области для номера телефона), а другие данные необязательны (например, расширение телефона). Эти символы указывают тип данных, например число или символ, которые необходимо ввести для каждого символа в маске ввода.

Маску ввода можно определить с помощью следующих символов.

При установке свойства InputMask на слово "Пароль" создается управление вводом пароля. Любой символ, введите его, хранится в качестве символа, но отображается как звездочка (*). Для предотвращения отображения вводимых символов на экране используется маска ввода пароля.

При вводе данных в поле, для которого определена маска ввода, данные всегда вводимы в режиме Overtype. Если для удаления символа используется клавиша Backspace, он заменяется пустым пространством.

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

Только символы, вводимые непосредственно в поле управления или комбо, влияют на маску ввода. Доступ игнорирует любые маски ввода при импорте данных, запуске запроса действий или вводе символов в области управления, установив свойство Text управления в Visual Basic или с помощью действия SetValue в макрос.

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

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

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Маска ввода в Microsoft Access

Маска ввода в Microsoft Access

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

Маска ввода в Microsoft Access

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

Количество символов «?» в этих масках (20) было выбрано исходя из вероятной максимальной длины встречающихся текстовых значений (фамилий и названий городов). Если в реальной базе встречаются более длинные названия, то количество символов «?» в масках необходимо увеличить, иначе «лишние» введенные символы будут обрезаны.
Коли потребуется ввести нестандартную фамилию (двойную, например Петрова-Водкина), можно временно отключить маску.
Маска ввода в Microsoft Access указывается в строке Маска ввода в разделе Свойства поля окна конструктора таблицы. Она может может задана как непосредственно в этой строке, так и с помощью мастера масок ввода, который вызывается щелчком на кнопке.

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

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

Функционально это не что иное, как обычная форма Access, предусмотренная для заполнения таблицы масок (это можно увидеть по характерной панели управления записями в нижней части формы). Здесь имеются следующие поля:

  • Описание — название создаваемой маски;
  • Маска ввода — набор символов, непосредственно определяющий маску ввода;
  • Заполнитель — символ, выбранный в качестве заполнителя;
  • Образцы данных — строка, указанная в качестве примера;
  • Тип маски — тип создаваемой маски (текстовый или дата/время).

Маска ввода в Microsoft Access


После того как все поля создаваемой маски заполнены, можно перейти к созданию следующей маски. По аналогии работы с записями, здесь также можно возвращаться к ранее созданным маскам, если в них требуется внести какие-либо изменения. Когда таким образом будут созданы все необходимые маски, нажмите Закрыть, чтобы вернуться к окну мастера. Для завершения работы мастера мастера нажмите Готово. Если хотите просто изменить одну из имеющихся в списке, нужно выделить ее и нажать кнопку Далее — появится следующее окно мастера, в котором можно изменить маску (поле Маска ввода), а также заполнитель отсутствующих символов (выпадающий список Заполнитель). Результат введенных изменений можно увидеть в поле Проба.

После нажатия кнопки Далее появится очередное окно мастера, в котором надо указать, в каком режиме должна храниться данная маска:

  • Вместе со знаками маски;
  • без знаков маски;

Маска ввода в Microsoft Access

Когда режим определен, нужно нажать кнопку Далее, после этого в завершающем информационном окне мастера просто нажать кнопку Готово.

В результате получим маску, которая состоит из трех частей, разделенных точками с запятой:
«тел. «000\-00\-00;0;_
где первая часть — непосредственно сама маска;
вторая часть — режим хранения маски (0 — вместе со знаками маски, 1 — без знаков маски);
третья часть — заполнитель отсутствующих символов.

Для большинства типов данных характерно свойство Подпись (Caption). С помощью этого свойства можно задать названия полей таблицы, которые выводятся в различных режимах (в надписях, присоединенных к элементам управления формы, в заголовке столбца в режиме Таблицы; в строке заголовка в режиме Формы; в заголовке отчета, выводящемся в режиме Предварительного просмотра; текст, который выводится в элементе управления). Поле может содержать до 2048 символов.

Кроме того, для большинства типов данных существует свойство Обязательное поле (Required), которое определяет необходимость ввода данных в это поле..

Настоятельно рекомендуем устанавливать значение этого свойства равным Да (Yes) для тех полей таблицы, которые не должны быть пустыми. Это обеспечивает автоматический контроль ввода данных в такие поля, т. е. ни при каких обстоятельствах пользователь не сможет создать запись, в которой данное поле останется пустым.

Свойство Формат поля (Format) указывает формат отображения данных из поля в режиме Таблицы. Для определения формата полей текстового типа используются специальные символы форматирования. Для числовых полей значение формата можно выбрать из раскрывающегося списка. Для логических полей можно выбрать из списка следующие варианты: Да/Нет (Yes/No), Истина/Ложь (True/False), Вкл/Выкл (On/Off). (Форматы полей мы будем подробно рассматривать в разд. "Форматы отображения данных" этой главы.)

С помощью свойства Маска ввода (Input Mask) указывается маска, позволяющая автоматизировать проверку ввода символов в поле. Она применяется к таким полям, как номер телефона, дата и т. д. Задавать маску ввода можно вручную или с помощью Мастера. (К маскам ввода мы еще вернемся в разд. "Форматы отображения данных" этой главы.)

Свойство Индексированное поле (Indexed) определяет, является ли данное поле индексированным, и если является, то в каком режиме. Существуют два режима индексирования: Совпадения допускаются (Duplicates OK) и Совпадения не допускаются (No duplicates). В первом случае поле может содержать повторяющиеся значения, во втором — нет.

Для большинства типов полей определено свойство Значение по умолчанию (Default Value). В этом свойстве указывается значение, автоматически добавляемое в поле для каждой новой записи, если это значение не введено пользователем.

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

Два свойства, которые тоже определены для большинства полей, позволяют выполнять проверку данных, вводимых в поле:

В табл. 2.2—2.4 приводятся свойства, специфичные для полей определенного типа.

Наименование свойстваОписание
Пустые строки (Allow Zero Length)Свойство определяет, допустимо ли вводить в данное поле пустые строки.
Сжатие Юникод (Unicode Compression)Свойство определяет, выполняется ли сжатие данных при сохранении для полей текстового типа (при кодировке UNICODE удаляются все первые байты символов, если они равны 0).
Режим IME (IME Mode)Input Method Editor — программа, позволяющая распознавать вводимые с помощью специальных кодов символы азиатских алфавитов: китайского, корейского и японского. Свойство позволяет указать режим преобразования, которое выполняется при получении полем фокуса.
Режим предложений IME (IME Sentence Mode)Определяет режим предложений IME, которые применяются при получении полем фокуса

Таблица 2.2. Дополнительные свойства текстового поля и поля Memo

Наименование свойстваОписание
Число десятичных знаков (Decimal Places)Свойство определяет число десятичных знаков справа от десятичного разделителя. Значение свойства можно выбрать из раскрывающегося списка. Чтобы число знаков определялось автоматически, необходимо установить значение Авто (Auto)

Таблица 2.3. Дополнительные свойства полей числового и денежного типа

В Microsoft Access существует два свойства полей, изменение которых приводит к похожим результатам: свойство Формат поля и свойство Маска ввода.

Свойство Формат поля используется для отображения данных в постоянном формате. Например, если свойство Формат поля для полей типа Дата/Время установлен на Средний формат даты, то все вводимые данные будут отображаться в следующем формате: 12-янв-96. Если же пользователь базы данных введет число в виде 12.01.96 (или в другом определенном виде), то при сохранении записи формат даты будет преобразован в Средний формат даты.

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

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

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

Синтаксис масок ввода

Описание маски ввода может состоять из трех разделов, разделенных знаком точка с запятой, например, (999) 000-0000!;0;" ".

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

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

Если пользователь определяет маску ввода и одновременно задает для того же поля значение свойства Формат поля, то при выводе данных приоритет имеет свойство Формат поля.Это означает, что при форматировании данных сохраненная маска ввода игнорируется. Данные в базовой таблице при этом не изменяются; свойство Формат поля определяет только режим отображения данных.

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

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

Создание маски ввода для управления вводом данных

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

Читайте также: