Хотя в Access существует только 9 типов полей данных, каждый из них допускает разнообразные настройки, осуществляемые с помощью свойств. Впервые в этой книге свойства рассматриваются не с функциональной, а с формальной точки зрения, поэтому уделим этому вопросу больше внимания.
Утверждение о том, что бывают текстовые поля, числовые или поля гиперссылок, аналогично утверждению, что тот или иной пищевой продукт представляет собой овощ, фрукт или мясо. Если известно, что в меню будет фрукт, значит, кое-что о будущем завтраке становится понятным, но все же здесь существует масса вариантов. Фрукт может быть виноградом, арбузом, мандарином или апельсином. Кроме того, он будет, например, красным, что снижает количество вариантов. Итак, он красный, сладкий, сочный и маленького, круглого размера — круг поиска в конечном итоге привел к вишне.
Цвет, вкус, поверхность и размер фрукта являются его свойствами, т.е. данными, описывающими определенный фрукт и позволяющими отличить его от других фруктов. Кроме того, у каждого свойства есть определенное значение: цвет — красный, вкус — сладкий и т.д. Возвращаясь к Access, мы говорили, что у каждого поля также имеются определенные свойства. Текстовое поле, например, обладает такими свойствами, как
Размер, Маска ввода, Подпись и Базовое значение. С помощью значений свойств можно гораздо больше рассказать о конкретном поле.
Безусловно, свойства используются не только для того, чтобы отличать одно поле от другого. От размера поля, к примеру, зависит объем данных, которые можно хранить в поле. Таким образом, свойства способны ограничить объем хранимой в базе информации.
Свойства поля с типом данных «Текстовый»
Для изучения свойств поля мы создадим новую таблицу Насаждения, в которой будут храниться сведения о семенах, посеянных в саду, в частности, о времени их посадки. Таблица будет построена исключительно в режиме конструктора. Начнем мы с создания одного поля.
1. Запустите Access и загрузите базу данных Растения.
2. Выберите ссылку Таблицы в окне Растения: база данных.
3. Дважды щелкните на ссылке Создание таблицы в режиме конструктора.
4. Введите Грядка в качестве названия поля в первой строке конструктора и Текстовый — как тип данных этого поля. Только что созданная таблица показана на рис. 11.2 в режиме конструктора.
Рис. 11.2. Таблица в режиме конструктора
Рассмотрим структуру таблицы в режиме конструктора более подробно. Об именах полей и типах данных мы уже неоднократно говорили в этой книге. Как видите, справа от поля типа данных находится свободное пространство для описания поля; введите текст «Грядка, на которой производится посадка» для поля
Грядка. Кроме имени поля, типа данных и описания в нижней области окна содержится панель
Свойства поля, состоящая их двух вкладок. В этой главе описывается вкладка
Общие; свойства, описываемые на вкладке Подстановка, задаются мастером подстановок, поэтому вручную обычно не изменяются (вкратце они описываются в главе 6).
На вкладке Общие каждому типу данных соответствует определенный набор свойств. В данный момент отображаются свойства, относящиеся к тестовому типу поля. Некоторые из свойств изменяются крайне редко, например свойства
Сжатие Unicode и Режим IME. По мере выбора различных свойств в правой области панели
Свойства поля отображаются относящиеся к ним различные советы и описания. Безусловно, для получения расширенной помощи всегда имеется возможность нажать клавишу <F1>.
Далее приведен список основных свойств текстового поля.
В продолжение работы с таблицей Насаждения укажем некоторые свойства поля
Грядка, выполнив следующие действия.
1. Введите значение 30 для свойства Размер поля.
2. Для свойства Подпись укажите значение Садовая грядка.
3. Для свойства Обязательное поле укажите значение Да.
4. Выберите поле Прядка в качестве первичного ключа для новой таблицы, щелкнув на этом поле, а затем на кнопке
Ключевое поле, расположенной на панели инструментов.
5. Сохраните таблицу Насаждения, выполнив для этого команду Файл>Сохранить. (Сохраненная таблица, по-прежнему в режиме конструктора, показана на рис. 11.3.)
Теперь переключите режим отображения таблицы Насаждения, щелкнув на кнопке Вид на панели инструментов. С помощью мыши увеличьте размер столбца и введите некоторые данные (рис. 11.4). Очевидно, что определенные ранее свойства повлияли на пользовательский интерфейс таблицы.
Влияние на структуру таблицы оказали и другие свойства, но пока что оно невидимо. Например, в поле
Грядка невозможно ввести более 30 символов, так свойство Размер поля
жестко ограничивает максимально возможное их количество.
Свойство Размер поля относится не только к таблице, поскольку свойства Access в случае необходимости могут наследоваться. Вы поймете, что это значит, выполнив такие действия.
1. Закройте таблицу Насаждения.
2. Выберите эту же таблицу в основном окне базы данных.
3. Щелкните на кнопке Новый объект: автоформа на панели инструментов.
Рис. 11.3. Таблица в режиме конструктора с указанными свойствами
Рис. 11.4. Введите данные в поле с описанием и подписью
На рис. 11.5 показан полученный результат. Свойства полей Подпись и Описание были повторно использованы для поля формы — текст свойства Описание отображается в элементе управления. Зачастую одного взгляда на подобный элемент управления достаточно, чтобы определить, какой тип данных требуется ввести. Наследование поддерживается запросами, отчетами и страницами, а также формами. При желании сохраните форму под именем
Насаждения и закройте ее.
Для изменения значения такого свойства, как Обязательное поле (со значения Да на значение Нет и наоборот), достаточно дважды щелкнуть на свойстве. Это можно сделать и без мыши, путем ввода первой буквы в названии нужного свойства, a Access автоматически дополнит его.
Свойства поля с типом данных «Поле MEMO»
Продолжая работу со свойствами поля, добавим к таблице Насаждения поле с типом данных
Поле MEMO.
1. Откройте таблицу Насаждения в режиме конструктора.
2. Введите новое поле с именем Заметки. Укажите для него тип данных Поле MEMO. Как видите, значения в окне Свойства поля изменились по сравнению с использованием типа данных
Текстовый.
3. Введите описание нового поля — Заметки о насаждениях.
4. Укажите для свойства Подпись значение Заметки насаждений.
Рис. 11.5. Форма содержит поле с подписью и описанием
Если сравнить списки свойств для типов данных Поле MEMO и Текстовый, окажется, что они практически совпадают. В этом нет ничего удивительного, так как
Поле MEMO, по сути, является, «очень вместительным» текстовым полем.
Свойства поля с типом данных «Числовой»
Тип данных Числовой добавляет некоторые новые свойства и модификации к уже существующим свойствам. Для того чтобы добавить числовое поле к таблице Насаждения, выполните такие действия.
1. Добавьте к таблице новое поле с именем КоличествоПосадок. Установите тип данных
Числовой.
2. Введите в поле Описание текст Количество посаженных растений.
3. Щелкните на свойстве Размер поля — справа появится значок со стрелкой. Щелкните на ней для открытия раскрывающегося списка с различными значениями размера поля (рис. 11.6). Выберите опцию
Байт.
4. Укажите для свойства Число десятичных знаков значение 0.
5. Укажите для свойства Подпись значение Количество посадок.
6. Укажите для свойства Значение по умолчанию значение 1.
7. Укажите для свойства Условие на значение значение <=50.
8. Укажите для свойства Сообщение об ошибке значение Больше 50 -ти растений посадить нельзя.
9. Укажите для свойства Обязательное поле значение Да.
Равно как для текстового поля, свойство Размер для поля числового
определяет объем данных, допустимый для ввода. Однако в отличие от текстового
поля, размер числового поля представляет собой имя определенной величины. В
табл. 11.1 указаны имена и фактические значения объемов данных, допустимых для
ввода в описываемое поле.
Таблица 11.1. Максимальные размеры числового поля
Имя поля |
Минимальное значение |
Максимальное значение |
Точность |
Максимальный десятичный разряд |
Байт |
0 |
255 |
Да |
0 |
Целое |
-32,768 |
32,767 |
Да |
0 |
Длинное целое |
-2,147,483,648 |
2,147,483,647 |
Да |
0 |
Одинарное с плавающей точкой |
-3.4x1 038 |
3.4x1038 |
Нет |
7 |
Двойное с плавающей точкой |
-1.8x1 0308 |
1.8х10308 |
Нет |
15 |
Код репликации |
Нет |
Нет |
Нет |
Нет |
Действительное |
-1хЮ38 |
1x1038 |
Да |
28 |
Выбирая размер поля для числового типа данных, необходимо учесть ряд обстоятельств и ответить на следующие вопросы:
Рис. 11.6. Укажите размер числового поля
Для хранения целых чисел лучше всего подходят поля Байт, Целое и
Длинное целое. Выберите наименьший тип для хранения данных, поскольку такое поле быстрее всего обрабатывается.
Дробные значения хранятся в полях Одинарное с плавающей точкой, Двойное с плавающей точной или
Действительное. И опять же, свойство следует выбирать с учетом объема данных, но не следует забывать об округлении. Поля
Одинарное с плавающей точкой и Двойное с плавающей точкой могут вернуть значение, несколько отличающееся от того, что вводилось ранее, особенно если значение было многоразрядным. Тип данных
Действительное хранит введенное значение без изменений, однако на обработку такого поля уходит больше времени.
Для поля КоличествоПосадок было указано свойство Условие на значение. Его можно озвучить так: «Введенное число не должно быть меньше или равным 5». Если условие соблюдается, Access позволит ввести число, в противном случае в поле Сообщение об ошибке появится предупреждение. Проверим на практике, так ли это.
1. Сохраните таблицу Насаждения. На экране появится несколько настораживающее сообщение, которое вы видите на рис. 11.7. Дело в том, что Access желает знать, следует ли использовать новое свойство Условие на значение для существующих строк в таблице. Щелкните на кнопке
Нет.
2. Переключитесь в режим таблицы. Обратите внимание на то, что поле Количество посадок уже содержит значение 1 в строке новой записи, как и указано в свойстве
Значение по умолчанию. Если бы запись была определена ранее, то значение 1 не было бы введено, поскольку свойство
Значение по умолчанию добавлено уже после ввода записи; это свойство применяется только к новым записям.
3. Введите в новую запись какие-либо данные, но обязательно задайте количество посаженных растений, равным 52; при попытке покинуть поле появится сообщение об ошибке, приведенное на рис. 11.8. До тех пор, пока указанное значение не будет изменено, вы не сможете перейти в другое поле или сохранить запись.
Рис. 11.7. Предупреждение о возможном нарушении целостности данных
4. Щелкните на кнопке
ОК и измените значение поля Количество посадок с 52 на 48. Теперь с помощью кнопки <Таb> можно перейти из этого поля к любому другому и сохранить запись.
Существует возможность создавать самые разнообразные условия на значение, нередко с достаточно сложным синтаксисом. К счастью, зубрить синтаксис нет необходимости — в табл. 11.2 приведены примеры основных условий на значение.
Код репликации — это кодированные значения, предназначенные главным образом для использования в базах данных, одновременно хранимых на нескольких компьютерах. Это свойство едва ли вам когда-нибудь понадобится.
Рис. 11.8. Сигнал о попытке нарушить свойство Условие на значение
Таблица 11.2. Основные условия на значение
Условие |
Объяснение |
< = 50 |
Меньше или равно 50 |
<>5 |
Не равно 5 — разрешено любое значение, кроме 5 |
Is Not Full |
Поле нельзя оставлять незаполненным, требуется обязательно ввести какое-либо значение. Аналогично указанию для свойства Обязательное поле значения да |
<10 or IB Null |
Меньше 10, в противном случае — пустое поле |
Like «B» |
Поле должно начинаться с буквы в. Звездочка представляет собой групповой символ, совпадающий с любым количеством символов |
Like «?????X» |
Поле должно содержать 6 символов и заканчиваться буквой х. Знак вопроса — это также групповой символ, совпадающий лишь с одним символом |
Between #1/1/2004# And #12/ 31/2008/t |
Любая дата между 1 января 2004 года и 31 декабря 20-08 года. Обратите внимание: по наличию символов # Access узнает о том, что указанные числа являются датами |
Свойства поля с типом данных «Дата/ время»
Тип данных Дата/время дает возможность попрактиковаться в использовании свойств Маска ввода и Формат поля.
1. Переключитесь обратно в режим конструктора.
2. Создайте поле с именем ДатаПосадки и укажите тип данных Дата/время. Как видите, для этого типа отсутствует свойство Размер поля. Все даты и временные значения хранятся в Access одинаковым образом.
3. Введите для нового поля такое описание: Дата посадки растений. При вводе описания рядом с полем появится значок Параметры обновления свойства (разновидность смарт-тега). При щелчке на этом значке вам будет предоставлена возможность выбора между двумя опциями:
Обновить текст строки состояния везде, где используется ДатаПосадки и
Справка по распространению свойств полей. Поскольку на основе этой таблицы была создана форма, свойства таблицы, способные повлиять на форму, отслеживаются Access. Поле
ДатаПосадки создано только что, поэтому в обновлении нет необходимости. Этот значок будет появляться при работе с таблицей до тех пор, пока будет существовать основанная на таблице форма.
Для обычных чисел рекомендуется использовать свойство Длинное целое, а для дробных — Двойное с плавающей точкой. При указании свойства Условие на значение следует также указывать и свойство Сообщение об ошибке. Благодаря этому пользователи базы данных получат объяснение о причине сделанной ими ошибки.
4. Щелкните на свойстве Формат поля, в результате чего справа появится значок со стрелкой вниз. Щелкните на этом значке для открытия раскрывающегося списка с форматами (рис. 11.9). Выберите значение Краткий формат даты.
Рис. 11.9. Выбор формата для поля Дата/время
5. Щелкните на свойстве Маска ввода. Появится небольшая кнопка с изображением трех точек, так называемая кнопка компоновки, на которой также следует щелкнуть. Когда появится запрос на сохранение таблицы, щелкните на кнопке
Да. Откроется окно мастера Создание масок ввода.
6. Выберите маску Краткий формат даты. С ней можно поэкспериментировать, введя какую-либо дату в поле
Проба (рис. 11.10). Как видите, маска не позволяет вводить символы, не соответствующие формату краткой даты.
Рис. 11.10. Проверка работы маски ввода
7. Щелкните на кнопке Готово для сохранения маски ввода для таблицы. При этом в свойстве
Маска ввода будет задан специальный код.
8. Укажите для свойства Подпись значение Дата посадки.
Свойства Формат поля и Маска ввода взаимно дополняют друг друга. Свойство
Маска ввода следит за данными, вводимыми в поле, а свойство Формат поля — за отображаемыми результатами. Зачастую для обоих свойств будет использоваться одинаковый стандарт (как в данном примере), но это не обязательное условие. Например, в качестве маски ввода может применяться краткая дата, а для формата задаваться длинная дата.
Чтобы увидеть, как работают указанные свойства, переключитесь еще раз в режим таблицы и введите дату в поле Дата посадки. Когда указатель мыши окажется в этом поле, появятся символы маски ввода (рис. 11.11).
Рис. 11.11. Символы маски ввода в таблице
Свойства поля с типом данных «Денежный»
При создании поля с этим типом данных не стоит ждать каких-либо сюрпризов, поскольку свойства поля вам уже знакомы. Но чтобы попрактиковаться, не лишним будет создать и такое поле.
1. Переключите таблицу в режим конструктора.
2. Создайте новое поле с названием ЦенаПокупки и присвойте ему тип данных
Денежный. При этом свойство Формат поля также получит значение Денежный, благодаря чему будет использоваться валютный знак, соответствующий местонахождению пользователя.
3. Введите для только что созданного поля описание Цена растений.
4. Затем укажите для свойства Подпись значение Цена покупки.
Формат валюты, используемый Access, берется непосредственно из Windows. При желании его можно изменить с помощью приложения Региональные установки в окне Панель управления.
Свойства поля с типом данных «Счетчик»
Как уже рассказывалось в главе 5, поля автонумерации используются Access при создании значений первичного ключа для таблицы. Пока что в таблице
Насаждения не было «достойного кандидата» на роль первичного ключа. Итак, создадим такой ключ с помощью типа данных
Счетчик.
1. Добавьте еще одно поле к таблице, находящейся в режиме конструктора, назвав его
КлючНасаждений.
2. Укажите для этого поля тип данных Счетчик.
3. Введите описание Уникальный ключ для этой записи (должен быть сгенерирован Access).
4. Щелкните правой кнопкой мыши на имени поля и выберите опцию Ключевое поле, чтобы сделать новое поле первичным ключом таблицы, заменив тем самым ранее установленный первичный ключ.
5. Сохраните таблицу.
6. Переключитесь в режим таблицы. Полю Ключ Насаждений будет присвоено уникальное значение в каждой существующей записи (рис. 11.12). При добавлении новой строки также будет назначаться уникальный первичный ключ.
Рис. 11.12. Значения поля с типом данных Счетчик автоматически назначено Access
Изменять свойства поля счетчика приходится очень редко. Можно добавлять значения для свойств
Подпись и Описание, которые бы идентифицировали поля в формах и отчетах. Свойство
Размер поля позволяет выбирать между значениями Длинное целое и Код репликации, а свойство Новые значения — между значениями
Последовательные и Случайные. Оставьте значения свойств, указанные по умолчанию, т.е.
Длинное целое и Последовательные.
Теперь Access не позволит вводить или из-мвнн1ь значения в поле счетчика. При попытке это сделать будет выдаваться специальный звуковой сигнал.
Свойства поля с типом данных «Логический»
Все свойства поля с типом данных Логический уже рассматривались на примере других полей. Для данных этого типа отображается флаговая кнопка, для которой указывает на значение да. Если флажок не будет установлен (или кнопка не выбрана), будет отображаться значение
Нет. Рассмотрим следующий пример.
1. Переключитесь в режим конструктора. Создайте и добавьте в список полей таблицы поле с именем
НаБудущее.
2. Укажите для этого поля тип данных Логический.
3. Введите описание Нужно ли сажать этот сорт в будущем году?
4. После этого укажите для свойства Подпись значение На будущее.
5. Укажите для свойства Значение по умолчанию параметр Да.
6. Сохраните таблицу.
7. Переключитесь в режим таблицы. Теперь в поле На будущее Access автоматически разместит флаговые кнопки, где установленный флажок означает
Да, а отсутствующий флажок — Нет. Обратите внимание, что Access не выбрала значение Да в качестве базового значения для уже существующих записей. Флажок установлен только для строки новой записи.
Базовым значением недавно созданного поля с логическим типом данных является Нет. Если для большинства описей понадобится значение Да, можно изменить значение поля Значение по умолчанию в режиме конструктора на Да. Затем просто сбросьте нужные флажки.
Свойство Формат поля для логического поля позволяет выбрать такие значения, как
Истина/Ложь и Вкл/Выхл, наравне, конечно, с Да/Нет.
Свойства для поля с типом данных «Поле объекта OLE»
Осталось совсем немного — всего два типа полей! Поля с типом данных Поле объекта OLE довольно просты в применении. Свойства настраиваются следующим образом.
1. Переключитесь в режим таблицы. Создайте и добавьте в список полей таблицы поле с именем
Фото.
2. Установите для нового поля тип данных Поле объекта OLE.
3. Введите описание Фотография насаждений.
4. Введите значение Фото для свойства Подпись.
5. Сохраните таблицу.
Поле с этим типом данных имеет всего два свойства — Подпись и Обязательное поле, поскольку в полях объектов OLE не хранятся данные, которые следует описывать Access. Объект OLE можно представить в качестве коробки, в которую укладываются файлы, сохраненные в других программах. При этом Access только наклеивает ярлык на коробку и иногда настаивает на том, чтобы пользователь что-нибудь в нее положил.
Свойства для поля с типом данных «Гиперссылка»
И, наконец, в Access поддерживается специальный тип данных поля, который называется Гиперссылка. В принципе, гиперссылка похожа на текстовое поле, но в отличие от него выступает в качестве интерактивного канала, ведущую к сетевым данным. Чтобы продемонстрировать сказанное на примере, добавим поле гиперссылки к созданной в этой главе таблице.
1. Создайте и добавьте в список полей таблицы в режиме конструктора поле с именем
СетеваяСсылка.
2. Выберите для нового поля тип данных Гиперссылка.
3. Введите описание Web-сайт издательства.
4. Укажите для свойства Подпись значение Издательство . Как видите, свойства типа данных
Гиперссылка практически полностью совпадают со свойствами текстового поля. На рис. 11.13 показана таблица в режиме конструктора, содержащая множество типов данных.
Рис. 11.13. Таблица с полями различных типов данных
5. Сохраните таблицу.
6. Переключитесь в режим таблицы, затем введите в новое поле гиперссылки Интернет-адрес (например,
www.katalog.ru).
7. Щелкните на поле гиперссылки, и страница будет открыта в отдельном окне обозревателя Интернет (рис. 11.14).