Создание таблицы в режиме конструктора
Создание таблицы в режиме конструктора
Описанная в предыдущем разделе таблица создавалась, можно сказать, стихийно. Теперь мы будем придерживаться строгой последовательности действий, заблаговременно обосновывая все дальнейшие операции, задавая необходимые данные и их форматы.
Окно конструктора таблиц
Войти в этот режим можно двумя способами. Первый: выберите пункт Конструктор в окне Новая таблица – рис. 3.2, затем щелкните по кнопке ОК. Другой вариант: выберите пункт Создание таблицы в режиме конструктора в окне базы данных (см. рис. 3.1). На экране появится окно конструктора таблиц (см. рис. 3.7), содержащее три раздела:
Рис. 3.7
• Имя поля ;
• Тип данных – обязательный раздел;
• Описание – необязательный раздел.
В разделе Имя поля следует указать имена полей – те самые, которые в предыдущем разделе вводились в заголовки столбцов таблицы. Ситуация с первичным кодом совершенно аналогична.
Чтобы начать работу с разделом Тип данных, надо щелкнуть мышью в его пределах. Как только это произойдет, в его правой части появится стрелка прокрутки. Щелкните по ней – увидите список типов данных, которые поддерживаются в Access 2002 (см. рис. 3.8). Характеристика типов данных приводится в следующем разделе этой главы.
Рис. 3.8
Сведения о типах данных, полей и их свойствах являются в Access 2002 базовыми и используются при создании таблицы в режиме конструктора.
Типы данных и их свойства
Типы данных, поддерживаемые системой Access 2002 (см. рис. 3.8), приводятся вместе с основными характеристиками:
• Текстовый – символьные данные или сочетание символьных и цифровых данных. К этому типу относятся также цифровые данные, которые не требуют вычислений над ними (например, номер телефона). Длина поля по умолчанию составляет 255 символов, но можно задать меньший размер. Место для невведенных данных в пределах объявленного размера не резервируется;
• Мемо-поля – текстовые данные либо сочетание текстовых и цифровых данных, имеющих большой объем (например, примечания или описания). Длина поля – до 65 536 символов;
• Числовой – числовые данные, используемые в математических операциях (за исключением финансовых расчетов, для которых следует использовать тип данных Денежный). Длина поля может составлять 1, 2, 4 бита, 8 и даже 16 байт (в последнем случае в свойстве Размер поля нужно выбрать опцию Репликация [3] );
• Дата/Время – формат данных о дате и времени для периода с 100 до 9999 года. Длина поля – 8 байт. Access 2002 отличается некоторой спецификой в части обозначения дат. Интерпретируя номера годов, заданные двумя цифрами, программа использует параметры, вводимые в окне Язык и стандарты панели управления Microsoft Windows. В этом диалоговом окне год задается двумя цифрами и может отображаться в виде диапазона, равного 100. По умолчанию он охватывает годы с 1930 по 2029. Программа, использующая этот период для интерпретации номеров годов, заданных двумя цифрами, будет считать, что годам с 30 по 99 должно предшествовать число 19, а годам с 00 по 29 – число 20. Например, 99 будет интерпретировано как 1999, а 01 – как 2001. Этот параметр не влияет на номера годов, заданные четырьмя цифрами.
При работе с датами, относящимися к 2000 году и последующим годам, в силу сложности правил интерпретации их следует указывать более подробно. Это обеспечит правильность обработки дат в Access 2002.
При интерпретации неоднозначных дат Access делает некоторые допущения. Например, если введена дата, содержащая только месяц и еще одну или две цифры, Access исходит из того, что значение от 1 до 31 представляет число этого месяца, а дата относится к текущему году. Например, Access рассматривает 01 декабря как 1 декабря текущего года, а не как декабрь 2001 года. 32 декабря Access рассматривает как 1 декабря 1932 года.
Даты в объектах в режиме таблицы, введенные с указанием года в сокращенном формате, Microsoft Access интерпретирует как даты XXI столетия следующим образом:
Для обеспечения интерпретации значений года в Microsoft Access нужным образом следует указывать значения года четырьмя цифрами (например, 2001, а не 01). В Access 2002 имеется возможность при вводе полей дат и элементов управления, в которых года обозначаются четырьмя цифрами, проверять правильность столетия, для которого записывается конкретная дата. С этой целью на вкладке Общие диалогового окна Параметры (меню Сервис) в группе Формат года из четырех цифр могут выполняться следующие операции:
• установите флажок Текущая база данных, чтобы включить отображение годов четырьмя цифрами на уровне базы данных (в текущей базе данных или в текущем проекте Access);
• установите флажок Все базы данных, чтобы включить отображение годов четырьмя цифрами на уровне приложения (во всех базах данных и проектах Access).
При установке одного из этих флажков меняется только формат отображения дат, сами же даты не изменяются. Значения данных параметров определяют значения свойства Формат для отдельных полей и элементов управления.
Системные администраторы могут изменять правила, используемые Microsoft Office при интерпретации дат. Например, в качестве первого двузначного формата года, относящегося к XX столетию, можно задать не 30, а меньшее число (см. выше). Кроме того, можно изменить используемый по умолчанию формат дат, чтобы отображать значения года четырьмя цифрами, а не двумя;
• Денежный – значения денежных единиц и числовые данные, используемые в математических операциях. Эти данные должны иметь фиксированное число знаков до и после запятой. Используется также для предотвращения округления в ходе вычислений. Длина поля – 8 байт;
• Счeтчик – уникальная последовательность чисел, начинающаяся с единицы, или случайная последовательность, которую создает Access 2002 при добавлении новой записи в таблицу. Для уникальной последовательности чисел при добавлении новой записи последнее число увеличивается на 1. Эта последовательность представляет собой первичный код, который очень важен в Access 2002, он не может корректироваться пользователем и доступен только системе. Если вы удалите какую-либо запись, то будет удалено и соответствующее значение первичного кода. Длина поля для данных этого типа составляет 4 бита (или 16 байт, если в свойстве Размер поля установлен режим Репликация);
• Да/Нет – логический тип данных. Поле может принимать лишь одно из двух значений: Да или Нет, Истина или Ложь. Нулевое значение не допускается. Длина поля – 1 бит;
• Поле объекта OLE – обменный тип данных для хранения таких объектов, как таблицы Microsoft Excel, документы Microsoft Word, графические и звуковые файлы, другие двоичные данные, включенные в таблицы Access 2002 или связанные с ними. Данное поле сохраняет объем до 1 Гбайта и ограничивается объемом диска;
• Гиперссылки – текстовые данные или сочетания текстовых и цифровых данных, используемых в качестве адресов, по которым выполняется переход к файлу, фрагменту файла или странице HTML в корпоративной сети или Internet. Сохраняет до 64 000 знаков.
Адрес гиперссылки может состоять из трех частей:
– отображаемый текст – текст, который появляется на экране;
– адрес – путь к файлу или странице доступа к данным;
– субадрес – положение данных внутри файла или на странице;
• Мастер подстановок. Создает поле, позволяющее выбрать значение из другой таблицы или из списка значений, используя поле со списком. При выборе данного параметра в списке типов данных запускается мастер для автоматического определения этого поля.
Для сохранения требуется тот же размер, что и у первичного ключа, соответствующего полю подстановок, – обычно 4 байта.
Как видите, типы данных очень разнообразны. Прежде чем вы начнете определять и вводить их, обязательно ответьте себе на ряд вопросов:
• какие данные вы хотите ввести в конкретное поле. Например, нельзя сохранить текстовую информацию в поле с числовым типом данных. Нельзя также вводить в поле числового формата десятичные данные с разделителем в виде точки (разделителем должна быть запятая);
• какая длина поля вам необходима для сохранения данных и работы с ними;
• какие операции будут производиться с данными в этом поле. Например, 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.9
Если щелкнуть в ее пределах (см. рис. 3.10), можно будет вводить значения вручную. Вначале введем значение 0L ? L в строку Маска ввода. Начиная со следующей вводимой записи и до тех пор, пока маска ввода не будет снова изменена, коды стран будут задаваться в том виде, который показан на рис. 3.11 для кодов Индии и Пакистана. Это происходит в соответствии с правилами настройки форматов, приведенными выше (раздел «Свойства полей»). (Мы не обсуждаем сейчас вопрос о смысле такой установки, а просто рассматриваем возможности маски ввода.)
Рис. 3.10
Рис. 3.11
Правда, при переходе из режима конструктора в режим просмотра таблицы (см. рис. 3.10 и 3.11) Access 2002 может предупредить пользователя о возможных опасностях, выдав информацию о том, что условия целостности данных изменены и информация может противоречить новым условиям, предложив при этом проверить существующие данные в новых условиях. Если подобное предложение поступит, то с ним имеет смысл согласиться и ответить Да.
Для выбора значений маски ввода может также использоваться мастер маски ввода. Если вы захотите воспользоваться его помощью и щелкнете по кнопке
как показано на рис. 3.10, то программа предложит сохранить таблицу (рис. 3.13).
Рис. 3.12
Рис. 3.13
После того как вы согласитесь с этим предложением (в случае несогласия вы никуда не продвинетесь), появится окно мастера маски ввода (см. рис. 3.12). Открывшееся окно предлагает вам выбрать Маску ввода в соответствии с заданным свойством Формат данных. Чтобы проверить работу маски ввода, можете ввести данные в поле Проба. Значения свойства Маска ввода для ввода вручную рассматривались выше. Здесь мы перечислим шаблоны для случая их задания мастером:
• Общий формат даты;
• Длинный формат даты;
• Средний формат даты;
• Короткий формат даты;
• Длинный формат времени;
• Средний формат времени;
• Короткий формат времени.
Чтобы изменить маску ввода, щелкните по кнопке Список. Теперь выберите в открывшемся поле какую-либо позицию, например Средний формат времени (рис. 3.12). Затем, щелкнув по кнопке Далее, вы перейдете в следующее окно мастера масок (см. рис. 3.14).
Рис. 3.14
В этом окне вы также можете изменить шаблон. Это можно сделать в поле Маска ввода, которое в этом случае активизируется. Далее в том же окне мастера масок вы можете изменить вид заполнителей или меток. Эти метки заполняют пробелы между значащими символами. Выбор нужной метки из списка производится в поле Вид заполнителя с помощью стрелки прокрутки. Указанные вами метки вводятся автоматически по мере набора символов. Использовав все возможности коррекции масок, которыми располагает мастер, вы получите не менее разнообразные и экзотические маски, чем те, что пользователь создает вручную.
Проверить, как введены данные, можно, указав их в поле проверки Проба и затем нажав клавишу Enter. После этого, если не последует возражений со стороны мастера, щелкните по кнопке Далее. В следующем окне (см. рис. 3.15) мастер масок предоставит вам еще одну возможность изменить маску для данного шаблона, задав ее значение и вид заполнителя.
Рис. 3.15
Затем мастер поинтересуется, как вы хотите сохранить данные (рис. 3.16). Вы можете сохранить их либо вместе с возможными вспомогательными символами (они указываются во второй части маски, но являются необязательными), либо без них.
Рис. 3.16
Когда вы дадите тот или иной ответ, щелкните по кнопке Готово, и маска будет сформирована. Если на этой стадии работы вы выберете опцию Далее, то сначала появится еще одно окно. В нем мастер масок сообщит вам, что теперь у него есть все необходимое для создания маски.
На рис. 3.17 и 3.18 мы видим, как выглядит изменение маски ввода в окне конструктора и в окончательном виде в таблице Страны.
Рис. 3.17
В нашем примере сформированная мастером маска будет работать с момента ее установки и до следующей корректировки. Все это время Access 2002 будет допускать ввод только тех записей, у которых код страны имеет четыре разряда. На рис. 3.18 показаны записи, введенные согласно заданным условиям.
Рис. 3.18
Сравнивая два способа формирования маски ввода (вручную и с помощью мастера масок), мы пришли к заключению, что первый путь значительно проще, и поэтому именно он рекомендован пользователю. Свойство Формат
В отличие от установки маски ввода, свойство Формат задается только вручную; мастер отсутствует (возможно, это и к лучшему). Введем значение свойства Формат в текстовое поле Страна. Для этого в позицию Формат поместим символ >, который обозначает перевод текстовых символов в верхний регистр (рис. 3.19).
Рис. 3.19
Если теперь мы включим режим просмотра таблицы, которая была показана на рис. 3.18, то увидим что все строки в поле Страна заполнены прописными буквами (см. рис. 3.20). Кстати, это еще одно отличие свойства Формат от свойства Маска ввода: его установки влияют на все содержимое поля, независимо от времени его (содержимого) ввода.
Рис. 3.20
Данный текст является ознакомительным фрагментом.