• какая длина поля вам необходима для сохранения данных и работы с ними;
• какие операции будут производиться с данными в этом поле. Например, Access 2002 позволяет суммировать данные в числовом и денежном форматах, но не делает этого в текстовом или в формате OLE;
• собираетесь ли вы сортировать или индексировать данные. Имейте в виду, что в формате OLE нельзя делать ни того, ни другого;
• будете ли вы применять групповые записи в формах или запросах. Поля формата OLE нельзя использовать для группировки записей;
• как вы собираетесь сортировать данные в поле. В текстовом поле числа рассматриваются как строки символов (1, 10, 100, 2, 20, 200 и т. д.), поэтому многие форматы дат могут сортироваться неправильно; для них следует использовать формат Дата/Время, а не цифровые значения. Чтобы сортировать числа как цифровые значения, необходимо применять числовой или денежный форматы.
Свойства полей
В Access 2002 предусмотрены два свойства полей: Формат и Маска ввода. Обе опции позволяют задавать формат, в котором данные вводятся в таблицу.
Свойство Формат рекомендуется применять при последовательном вводе данных в таблицу. Например, если для поля типа Дата/Время вы установили значение свойства Формат равным Средний формат времени, то все значения дат при их последовательном вводе будут иметь следующий вид: 12-Янв-96. Если пользователь будет вводить в базу данных значения дат в любом другом формате (скажем, в виде 01/12/96), при запоминании записи Access 2002 все равно преобразует ее в Средний формат времени.
Свойство Формат проявляется лишь при отображении значения, но не при его запоминании. Пока введенные данные не появились на экране, невозможно проверить, в каком формате они были введены. Предположим, вы непременно хотите отобразить данные именно в том формате, в котором они вводились. Тогда вам не следует применять свойство Формат. В заключение отметим, что оно используется в полях числового и денежного типа, Дата/Время, Счетчик и Да/Нет. Свойство Формат не определено для полей текстового типа, полей Memo и гиперссылок, хотя в принципе такая настройка возможна.
Свойство Маска ввода целесообразно при отображении литеральных (символьных) констант, а также при вводе данных в пустые графы (бланки, таблицы и т. д.) – например, если все номера телефонов в списке имеют один формат. Использование маски ввода обеспечит сохранение информации в определенном формате. Таким образом, вы всегда сможете установить, в каком виде будут вводиться данные в каждый документ. Предположим, надо, чтобы все вводимые данные о кодах и телефонах городов области содержали одинаковое количество знаков. Перед вводом предварительно задайте свойство Маска ввода, и в каждый документ (таблицу) будет помещено необходимое число символов.
Если вы зададите одновременно оба свойства, произойдет следующее: Access будет применять Маску ввода при добавлении или редактировании данных, а Формат – при отображении сохраненной записи.
Установка значений свойств Маска ввода и Формат
Теперь рассмотрим установку значений свойств Маска ввода и Формат на конкретном примере. Откроем таблицу Страны в режиме конструктора.Свойство Маска ввода
Значение свойства Маска ввода может содержать до трех разделов, разделенных точкой с запятой (;).
Первый – представляет саму маску ввода (например,!(999) 000-0000). Перечень знаков, используемых для определения масок ввода, приводится в справочной системе Access 2002.
Второй – определяет режим занесения в таблицу текстовых констант, добавляемых к знакам, которые вводятся пользователем. 0 в данном компоненте указывает, что текстовые константы (например, скобки и дефисы в маске ввода телефонных номеров) сохраняются вместе с введенными пользователем значениями; значение 1 или пустое значение данного раздела свидетельствует о том, что сохраняются только знаки, введенные пользователем.
Третий – определяет знак, используемый для изображения пустых позиций в маске ввода, в которые помещаются вводимые пользователем знаки. В этом разделе можно указать любой знак; чтобы отобразить пустую строку, введите пробел, заключенный в кавычки (" ").
Чтобы задать свойство в поле Код страны, введите соответствующую строку в верхнюю часть окна (см. рис. 3.9).
Если щелкнуть в ее пределах (см. рис. 3.10), можно будет вводить значения вручную. Вначале введем значение 0L → L в строку Маска ввода. Начиная со следующей вводимой записи и до тех пор, пока маска ввода не будет снова изменена, коды стран будут задаваться в том виде, который показан на рис. 3.11 для кодов Индии и Пакистана. Это происходит в соответствии с правилами настройки форматов, приведенными выше (раздел «Свойства полей»). (Мы не обсуждаем сейчас вопрос о смысле такой установки, а просто рассматриваем возможности маски ввода.)
Правда, при переходе из режима конструктора в режим просмотра таблицы (см. рис. 3.10 и 3.11) Access 2002 может предупредить пользователя о возможных опасностях, выдав информацию о том, что условия целостности данных изменены и информация может противоречить новым условиям, предложив при этом проверить существующие данные в новых условиях. Если подобное предложение поступит, то с ним имеет смысл согласиться и ответить Да.
Для выбора значений маски ввода может также использоваться мастер маски ввода. Если вы захотите воспользоваться его помощью и щелкнете по кнопке
как показано на рис. 3.10, то программа предложит сохранить таблицу (рис. 3.13).
После того как вы согласитесь с этим предложением (в случае несогласия вы никуда не продвинетесь), появится окно мастера маски ввода (см. рис. 3.12). Открывшееся окно предлагает вам выбрать Маску ввода в соответствии с заданным свойством Формат данных. Чтобы проверить работу маски ввода, можете ввести данные в поле Проба. Значения свойства Маска ввода для ввода вручную рассматривались выше. Здесь мы перечислим шаблоны для случая их задания мастером:
• Общий формат даты;
• Длинный формат даты;
• Средний формат даты;
• Короткий формат даты;
• Длинный формат времени;
• Средний формат времени;
• Короткий формат времени.
Чтобы изменить маску ввода, щелкните по кнопке Список. Теперь выберите в открывшемся поле какую-либо позицию, например Средний формат времени (рис. 3.12). Затем, щелкнув по кнопке Далее, вы перейдете в следующее окно мастера масок (см. рис. 3.14).
В этом окне вы также можете изменить шаблон. Это можно сделать в поле Маска ввода, которое в этом случае активизируется. Далее в том же окне мастера масок вы можете изменить вид заполнителей или меток. Эти метки заполняют пробелы между значащими символами. Выбор нужной метки из списка производится в поле Вид заполнителя с помощью стрелки прокрутки. Указанные вами метки вводятся автоматически по мере набора символов. Использовав все возможности коррекции масок, которыми располагает мастер, вы получите не менее разнообразные и экзотические маски, чем те, что пользователь создает вручную.
Проверить, как введены данные, можно, указав их в поле проверки Проба и затем нажав клавишу Enter. После этого, если не последует возражений со стороны мастера, щелкните по кнопке Далее. В следующем окне (см. рис. 3.15) мастер масок предоставит вам еще одну возможность изменить маску для данного шаблона, задав ее значение и вид заполнителя.