Глава
2.
Работа с таблицами
Предметом
рассмотрения в данной главе являются таблицы — основной объект Access. Список
таблиц, составляющих базу данных приложения, появляется в окне базы данных при
первом открытии приложения. Кроме этого, Access создает системные таблицы, в
которых хранится информация обо всех объектах приложения, и эти таблицы при
необходимости также могут отображаться в окне базы данных.
В данной главе
мы остановимся на двух важнейших аспектах работы с таблицами:
- описание структуры
таблиц и установка связи между ними;
- работа с данными в
таблицах: ввод, просмотр, изменение, поиск и т. д.
При описании
структуры таблиц мы будем опираться на те сведения из теории баз данных, которые
были приведены в начале предыдущей главы, и по мере необходимости дополнять их.
Этого будет достаточно для понимания излагаемого материала.
В настоящей
главе будут рассмотрены:
- Различные способы
создания таблиц, которые предоставляет Access
- Определение полей в
таблице, свойства полей, а также свойства самих таблиц
- Способы, с помощью
которых можно задать условия проверки корректности ввода данных на уровне поля
и на уровне записи
- Определение ключевых
полей, установка связей между таблицами, работа со схемой данных
- Создание и использование
индексов
- Способы добавления,
обновления, замены и удаления записей при работе с таблицами
- Способы сортировки
данных в таблице
- Возможности поиска
записей по значению поля, а также замены вхождений образца в поле
- Способы отбора данных
при помощи фильтров, копирования, экспорта и рассылки отсортированных и
отфильтрованных данных
Основные режимы работы с
таблицами
В новой версии
Microsoft Access существуют четыре режима работы с таблицами: режим Таблицы
(Datasheet View), режим Конструктора (Design View), режим Сводной таблицы
(PivotTable View) и режим Сводной диаграммы (PivotChart View).
В режиме Таблицы
осуществляется работа с данными, находящимися в таблице: просмотр,
редактирование, добавление, сортировка и т. п. В режиме Конструктора создается
или модифицируется структура таблицы, т. е. задаются имена полей таблицы и их
типы, поля описываются, задаются их свойства. В режимах Сводной таблицы и
Сводной диаграммы удобно выполнять анализ данных, динамически изменяя способы их
представления. Существует также дополнительный режим — режим Предварительного
просмотра, который позволяет увидеть расположение данных на листе перед
осуществлением печати таблицы.
Для быстрого
перехода из одного режима в другой служит кнопка Вид (View) на панелях
инструментов Таблица в режиме таблицы (Table Datasheet), Конструктор
таблиц (Table Design), Сводная таблица (PivotTable) и Сводная
диаграмма (PivotChart). Чтобы перейти из режима в режим, достаточно нажать эту
кнопку.
Открыть таблицу
в режиме Таблицы можно несколькими способами:
- дважды щелкнуть мышью на
имени таблицы в списке таблиц в окне базы данных;
- выделить таблицу в
списке таблиц в окне базы данных и нажать кнопку Открыть (Open) в
верхней части окна базы данных;
- щелкнуть правой кнопкой
мыши на имени таблицы и из контекстного меню выбрать команду Открыть
(Open).
В любом случае
на экране появится окно с содержимым таблицы (рис. 2.1).
Рис. 2.1.
Таблица "Клиенты", открытая в режиме Таблицы
В верхней части
таблицы располагаются имена полей (ячеек, находящихся в одном столбце
таблицы), ниже следуют записи (строки таблицы), в которые вносятся
данные. Одна запись
всегда является текущей, и рядом с ней расположен указатель текущей
записи (стрелка в поле выделения в левой части окна). В нижней части окна
расположены кнопки навигации, позволяющие перемещать указатель текущей
записи по таблице (на первую запись, на предыдущую запись, на следующую запись,
на последнюю запись). Там же находятся поле номера текущей записи, кнопка
создания новой записи и указатель общего количества записей в таблице. Для
создания новой записи также служит последняя строка таблицы, отмеченная в поле
выделения звездочкой (на рис. 2.1 она не видна).
Горизонтальная
полоса прокрутки полей таблицы позволяет увидеть те поля таблицы, которые
не поместились в окно таблицы. Аналогично вертикальная полоса прокрутки записей
таблицы позволяет увидеть записи, находящиеся за пределами окна.
В верхней части
окна приложения появляется стандартная панель инструментов Таблица в режиме
Таблицы (Table Datasheet). Назначение кнопок этой панели и соответствующие
им команды меню описаны в табл. 2.1.
Таблица
2.1. Панель инструментов Таблица в режиме
Таблицы
|
|
|
|
|
|
|
|
|
|
|
|
Отображение таблицы в
различных ре-
|
|
|
|
|
жимах. Чтобы изменить
режим отобра-
|
|
|
|
|
жения таблицы,
нажмите стрелку справа
|
|
|
|
|
от кнопки и в
появившемся списке вы-
|
|
|
|
|
делите нужный
элемент. Если просто
|
|
|
|
|
нажать эту кнопку,
таблица будет ото-
|
|
|
|
|
|
|
|
|
|
Сохранение активной
таблицы
|
|
|
|
|
|
|
|
|
|
Поиск документов по
содержанию
|
|
|
|
|
|
|
|
|
|
Печать таблицы без
открытия диалогово-
|
|
|
|
|
|
|
|
|
|
Предварительный
просмотр размещения
|
|
|
|
|
таблицы на листе
перед печатью
|
|
|
|
|
|
|
|
|
|
Проверка орфографии в
текстовых по-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Удаление выделенных
объектов из таб-
|
|
|
|
|
лицы в буфер обмена
Windows
|
|
|
|
|
Копирование
выделенных объектов в
|
|
|
|
|
|
|
|
|
|
Вставка содержимого
из буфера обмена
|
|
|
|
|
|
|
|
|
|
Копирование
параметров форматирова-
|
|
|
|
|
ния из одного
выделенного объекта в
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Отмена последних
действий
|
Правка,
Отменить
(Edit,
Undo)
|
|
|
Добавить гиперссылку
(Insert Hyperlink)
|
Вставка поля типа
"гиперссылка"
|
Вставка, Гиперссылка
(Insert, Hyperlink Column)
|
|
|
Сортировка по
возрастанию (Sort Ascending)
|
Сортировка записей по
возрастанию значений в активном поле
|
Записи, Сортировка,
Сортировка по возрастанию (Records, Sort, Sort
Ascending
|
|
|
Сортировка по
убыванию (Sort Descending)
|
Сортировка записей по
убыванию значений в активном поле
|
Записи, Сортировка,
Сортировка по убыванию (Records, Sort, Sort
Descending
|
|
|
Фильтр по выделенному
(Filter by selection)
|
Отбор записей,
соответствующих выделенному фрагменту
|
Записи, Фильтр,
Фильтр по выделенному (Records, Filter, Filter by
selection)
|
|
|
Изменить
фильтр
(Filter by
form)
|
Отображение
диалогового окна для ввода критериев отбора
записей
|
Записи, Фильтр,
Изменить фильтр
(Records, Filter,
Filter by form)
|
|
|
Применение фильтра
(Apply filter)
|
Отображение
отфильтрованных записей
|
Записи, Применить
фильтр (Records, Apply filter)
|
|
|
|
Поиск записи по
заданным критериям поиска
|
Правка,
Найти
(Edit,
Find)
|
|
|
Новая запись (New
Record)
|
Добавление новой
записи в таблицу
|
Вставка, Новая запись
(Insert, New Record)
|
|
|
Удалить
запись
(Delete
Record)
|
Удаление текущей
записи из таблицы
|
Правка, Удалить
запись (Edit, Delete Record)
|
|
|
Окно базы
данных
(Database
Window)
|
Отображение окна базы
данных
|
|
|
|
Новый
объект
(New
Object)
|
Создание нового
объекта базы данных. Чтобы выбрать тип создаваемого объекта, нажмите
стрелку справа от кнопки
|
|
|
|
Справка по Microsoft
Access
(Microsoft Access
Help)
|
Вызов помощника и
получение справки по Access 2002
|
Справка, Справка по
Microsoft Access
(Help, Microsoft
Access Help)
|
|
|
|
|
|
|
Открыть таблицу
в режиме Конструктора можно одним из двух следующих способов:
- выделить таблицу в
списке таблиц в окне базы данных и нажать кнопку Конструктор (Design) в
верхней части окна базы данных;
- щелкнуть правой кнопкой
мыши на имени таблицы и из контекстного меню выбрать команду Конструктор
(Design).
После выполнения
указанных действий на экране появится окно таблицы в режиме Конструктора, а
также панель инструментов Конструктор таблиц (Table Design) (рис.
2.2).
Рис. 2.2.
Таблица "Клиенты", открытая в режиме Конструктора
Окно таблицы в
режиме Конструктора состоит из двух панелей.
- Верхняя панель содержит
таблицу из трех столбцов: Имя поля (Field Name), Тип данных
(Data Type) и Описание (Description). В столбце Имя поля
(Field Name) содержатся имена полей таблицы, в столбце Тип данных
(Data Type) указывается тип данных для каждого поля. Заполнение двух
первых столбцов является обязательным.
- На нижней панели
располагаются две вкладки свойств полей: Общие (General) и
Подстановка (Lookup), а также область контекстной
справки.
Ключевое поле
таблицы помечается специальным значком — ключик в поле выделения в левой
части окна. Чтобы выделить поле, достаточно просто щелкнуть мышью по строке, в
которой описывается данное поле. При этом в нижней части окна будут показаны
параметры именно для этого поля. Перемещаться между столбцами в верхней панели
окна можно с помощью клавиши <Таb>, а для перемещения по списку полей
вверх и вниз пользуйтесь клавишами со стрелками. С помощью клавиши <F6>
можно перемещаться между панелями.
В верхней части
окна приложения появляется стандартная панель инструментов Конструктор
таблиц. Рассмотрим основные кнопки этой панели инструментов (описываются
только кнопки, уникальные для данного режима).
- Ключевое поле
(Primary Key) — добавляет в таблицу ключевое поле или удаляет
его.
- Индексы (Indexes)
— открывает окно редактирования индексов.
- Вставить строки
(Insert Rows) — позволяет добавлять поля в таблицу.
- Удалить строки
(Delete Rows) — позволяет удалять поля из таблицы.
- Свойства
(Properties) — открывает окно свойств таблицы.
- Построить (Build)
— открывает окно Построителя полей.
Остальные кнопки
на этой панели те же самые, что и на описанной ранее панели Таблица в режиме
таблицы (Table Datasheet).
Новый режим —
Сводной таблицы — позволяет представлять табличные данные в более удобном и
обозримом виде. Сводная таблица позволяет группировать, суммировать или каким-то
другим образом обрабатывать данные из обычной таблицы Access. Этот режим
является с одной стороны аналогом сводных таблиц в Excel, а с другой стороны —
развитием уже давно используемых в Access перекрестных запросов.
Режим Сводной
диаграммы тесно связан со сводной таблицей. Это просто графическое представление
сводной таблицы. В предыдущих версиях Access диаграммы могли использоваться
только в отчетах. Теперь они стали динамическими, и есть возможность создавать
эти диаграммы и управлять ими в интерактивном режиме прямо на экране
монитора.
Однако хотя
можно создать сводную таблицу для обычной таблицы Access, на наш взгляд,
наиболее эффективен этот режим для запросов и форм. Таблицы Access, если они
правильно спроектированы, как правило, не бывают сложными. А вот запросы и формы
обычно собирают информацию из разных таблиц. И поэтому именно для анализа этих
данных удобно создавать сводные таблицы и диаграммы. По этой причине мы пока
отложим рассмотрение настоящих режимов и вернемся к ним во второй части книги,
когда будем говорить о построении сложных запросов и форм. А в данной главе мы
подробно остановимся на первых двух режимах.
Создание таблиц
В Access
используются три способа создания таблиц: путем ввода данных (by entering data),
с помощью Конструктора таблиц (in Design view) и с помощью Мастера создания
таблиц (by using wizard). Для каждого из этих способов существует специальный
ярлык новых объектов в списке таблиц (рис. 2.3). Если вы создали новый файл базы
данных, то, кроме этих ярлыков, в списке таблиц больше ничего
нет.
Рис. 2.3.
Ярлыки новых объектов в списке таблиц пустой базы
данных
Замечание
Если эти ярлыки не видны,
необходимо открыть окно Параметры (Options) (с помощью команды Сервис,
Параметры (Tools, Option),) затем раскрыть вкладку Вид (View) и установить
флажок новые ярлыки объектов (New Object Shortcuts).
Если вы не
отображаете ярлыки новых объектов в окне базы данных, то для создания новой
таблицы нужно раскрыть список таблиц, щелкнув по ярлыку Таблицы (Tables)
на панели объектов окна базы данных, и затем нажать кнопку Создать (New).
Тогда появится диалоговое окно Новая таблица (New Table), в котором вы и
должны выбрать способ создания таблицы (рис. 2.4).
Рис. 2.4.
Диалоговое окно Новая таблица
И, наконец, на
панели инструментов Access расположена кнопка Новый объект (New Object).
Если щелкнуть мышью по стрелке, которая находится на ней справа, и выбрать из
меню объект Таблица (Table), то откроется то же диалоговое окно Новая
таблица (New Table).
Для создания
новой таблицы можно воспользоваться любым из описанных способов. Обычно создание
таблиц путем ввода данных используют тогда, когда структура таблицы очень
проста, например справочник. Тогда Access сама догадывается о том, как
установить свойства полей. Потом можно переключить таблицу в режим Конструктора
и посмотреть, как эти свойства будут установлены. Использование Мастера таблиц
оправдано, если нужно создать какую-то типовую таблицу, пользуясь шаблонами,
которые он предложит. Режим Конструктора наиболее часто применяется
пользователями и может вам тоже потребоваться для просмотра структуры таблицы
или для изменения данной структуры. Поэтому знать его
небесполезно.
Создание таблицы путем ввода данных
Если вы
затрудняетесь сразу определить структуру таблицы, Microsoft Access позволяет
создать таблицу путем ввода данных в окно с традиционной табличной формой (рис.
2.5).
Рис. 2.5.
Создание таблицы путем ввода данных
Для этого
необходимо:
- Открыть окно новой или
существующей базы данных и в нем открыть список таблиц.
- Выделить в списке таблиц
ярлык Создание таблицы путем ввода данных (Create table by entering
data) и дважды щелкнуть по нему левой кнопкой мыши. Появится пустая таблица со
стандартными названиями столбцов: Поле1(Field 1), Поле2 (Field2)
и т. д. По умолчанию для создания таблицы предоставляется десять
полей.
- В поля этой таблицы
нужно ввести требуемые данные. Тип данных в одном поле (столбце) во всех
записях должен быть одинаковым.
- Можно ввести свои
собственные заголовки столбцов, для чего щелкнуть правой кнопкой мыши по
заголовку столбца и выберите из контекстного меню команду Переименовать
столбец (Rename Column). После этого стандартное назван-ие столбца
подсвечивается, и вы можете вводить свое название.
- По окончании ввода
данных нажать кнопку Закрыть (в верхнем правом углу окна
таблицы).
- В ответ на вопрос
Сохранить изменения макета или структуры таблицы <имя таблицы>? (Do you want
to save changes to the design of table <имя таблицы>?) нажать кнопку Да
(Yes).
- В окне Сохранение
(Save As) в поле Имя таблицы (Table Name) ввести имя новой таблицы
и нажать кнопку ОК (рис. 2.6).
Рис. 2.6.
Диалоговое окно Сохранение
- Microsoft Access выдаст
сообщение Ключевые поля не заданы (There is no primary key defined) и
вопрос Создать ключевое поле сейчас? (Do you want to create a primary
key now?). Нажать кнопку Нет (No), если одно или несколько полей в таблице
могут однозначно идентифицировать записи в таблице и служить первичным ключом,
или кнопку Да (Yes), и тогда Access создаст дополнительное поле, которое
сделает ключевым. К определению ключевого поля таблицы мы еще вернемся в
разд. "Определение ключевых полей" данной главы.
В списке таблиц
появится новая таблица, которая будет содержать введенные данные. Таблица при
этом создается автоматически. Поля ее будут иметь либо стандартные названия,
либо те, которые вы ввели, а их типы будут определяться по введенным данным. В
случае, если в один столбец были введены данные разных типов, например числа,
даты и текст, тип поля определяется как Текстовый (Text).
Ввод данных в
таблицу Access мало чем отличается от ввода в таблицу Excel. Для перехода между
полями вы можете использовать клавишу <ТаЬ>. Данные, введенные в текущую
строку, сохраняются при переходе к следующей строке. Более подробно режим ввода
и изменения данных в режиме таблицы описан в разд. "Ввод и проверка данных"
данной главы.
Создание таьлиц с помощью Мастера таблиц
Для этого
необходимо:
- Дважды щелкнуть левой
кнопкой мыши на ярлыке Создание таблицы с помощью мастера (Create table
by using wizard).
- В диалоговом окне
Создание таблиц (Table Wizard) (рис. 2.7) выбрать назначение таблицы:
Деловые (Business) (для иных целей можно выбрать и Личные
(Personal)).
- В поле Образцы таблиц
(Sample Tables) выбрать подходящую таблицу — Список рассылки
(MailingList).
- Переместить нужные поля
из списка Образцы полей (Sample Fields) в список Поля новой таблицы
(Fields in my new table). Для этого следует воспользоваться кнопками со
стрелками: > — переместить одно поле, » — переместить все
поля.
Рис. 2.7.
Диалоговое окно Мастера таблиц
- Повторять описанные в
пп. 3—4 действия до тех пор, пока не будет создан подходящий перечень полей
для новой таблицы.
- При необходимости
переименовать какое-либо поле, нужно выделить его в списке Поля новой
таблицы (Fields in my new table) и нажать кнопку Переименовать поле
(Rename Field), затем ввести в диалоговом окне Переименование поля
(Rename Field) новое имя поля и нажать кнопку ОК (рис. 2.8). Нажать кнопку
Далее (Next).
Рис. 2.8.
Диалоговое окно Переименование поля
- В следующем диалоговом
окне в поле Задайте имя для новой таблицы (What do you want to name
your table?) ввести имя новой таблицы "Список рассылки оповещений" (рис.
2.9).
Рис. 2.9.
Второе диалоговое окно Мастера таблиц
- Выбрать способ
определения ключа Microsoft Access автоматически определяет ключ (Yes,
set a primary key for me) (имеется альтернатива Пользователь определяет
ключ самостоятельно (No, I'll set the primary key)). Тогда в таблицу будет
добавлено поле автоматической нумерации. Нажать кнопку Далее
(Next).
- В случае, если было
выбрано самостоятельное определение ключа, в поле со списком Выберите поле
с уникальными для каждой записи данными (What field will hold data that is
unique for each record?) необходимо выбрать имя поля, которое станет ключевым.
Затем нужно определить тип данных, которые будут содержаться в ключевом поле.
Мастер предлагает выбрать один из трех вариантов:
- Последовательные
числа, автоматически присваиваемые каждой новой записи (Consecutive Numbers Microsoft
Access assigns automatically to new record);
- Числа, вводимые
пользователем при добавлении новых записей (Numbers I enter when I add
new records);
- Сочетание чисел и
символов, вводимое пользователем при добавлении новой записи (Numbers
and/or letters I enter when I add new records).
Нажать кнопку Далее
(Next).
- В следующем окне Мастер
таблиц предлагает установить связи между существующими таблицами и создаваемой
таблицей (рис. 2.10). Он пытается сам создать связи между таблицами и
предоставляет информацию о создаваемых связях пользователю в виде списка. При
необходимости исправить связи нужно выбрать соответствующую строку списка и
нажать кнопку Связи (Relationship). Например, выберите в списке строку
не связана с "Клиенты" и нажмите кнопку Связи
(Relationships).
Рис. 2.10.
Третье диалоговое окно Мастера таблиц
Рис. 2.11.
Диалоговое окно Связи
Рис. 2.12.
Четвертое окно Мастера таблиц
- В окне Связи
(Relationships) нужно выбрать тип связи с данной таблицей (рис. 2.11).
Выберите переключатель Одной записи в таблице "Клиенты" будет
соответствовать много записей таблицы "Список рассылки оповещений". Нажать
кнопку ОК.
- В диалоговом окне
Мастера таблиц (см. рис.2.10) нажать кнопку Далее (Next).
- Открыв последнее
диалоговое окно, можно решить, что вы будете делать с таблицей дальше (рис.
2.12). Выберите переключатель Изменить структуру таблицы, чтобы перейти
в режим Конструктора таблиц, и нажмите на кнопку Готово (Finish).
Откроется окно Конструктора таблиц. Структура таблицы будет выглядеть так, как
представлено на рис. 2.13.
Рис. 2.13.
Структура таблицы "Список рассылки сообщений" в режиме
Конструктора
Создание таблицы с помощью Конструктора таблиц
Теперь мы
познакомимся с режимом Конструктора. В режиме Конструктора таблицы создаются
путем задания имен полей, их типов и свойств. Чтобы создать таблицу в режиме
Конструктора, необходимо:
- Дважды щелкнуть левой
кнопкой мыши на ярлыке Создание таблицы с помощью конструктора (Create
table in Design View) или нажать на кнопку Создать (New) в верхней
части окна базы данных, выбрать из списка в окне Новая таблица (New
Table) элемент Конструктор (Design View) и нажать кнопку ОК. В том и в
другом случае откроется пустое окно Конструктора таблиц (рис.
2.14).
Рис. 2.14.
Окно новой таблицы в режиме Конструктора
- В окне Конструктора
таблиц в столбец Имя поля (Field Name) ввести имена полей создаваемой
таблицы.
- В столбце Тип данных
(Data Type) для каждого поля таблицы выбрать из раскрывающегося списка тип
данных, которые будут содержаться в этом поле.
- В столбце Описание
(Description) можно ввести описание данного поля (не
обязательно).
Совет
Хотя Access не требует,
чтобы для поля вводилось описание, мы рекомендуем не экономить время и описать
большинство полей в таблицах. При выборе поля в форме или таблице это описание
выводится в строке состояния окна приложения. Поэтому оно может служить справкой
для пользователя вашего приложения.
- В нижней части окна
Конструктора таблиц на вкладках Общие (General) и Подстановка
(Lookup) ввести свойства каждого поля или оставить значения свойств,
установленные по умолчанию.
- После описания всех
полей будущей таблицы нажать кнопку Закрыть (в верхнем правом углу окна
таблицы).
- На вопрос Сохранить
изменения макета или структуры таблицы <имя таблицы>? (Do you want to save changes to
the design of table <имя таблицы>?), нажать кнопку Да (Yes).
- В окне Сохранить как
(Save As) в поле Имя таблицы (Table Name) ввести имя создаваемой
таблицы и нажать кнопку ОК.
- В ответ на. сообщение
Ключевые поля не заданы (There is no primary key defined) и вопрос
Создать ключевое поле сейчас? (Do you want to create a primary key
now?) нажмите кнопку Да (Yes) если ключевое поле необходимо, или кнопку Нет
(No) если такого не требуется.
После указанных
действий в списке таблиц в окне базы данных появятся имя и значок новой таблицы.
Ввести данные в созданную таблицу можно, открыв таблицу в режиме
Таблицы.
Существуют также
и другие варианты, создания таблиц. Можно, например, создать таблицу с помощью
запроса на создание таблицы (см. гл. 8).
Можно создавать
таблицы путем импорта из других баз данных или создавая связи с такими внешними
таблицами (см. гл. 3).
Определение полей
При создании
таблиц в режиме Конструктора приходится задавать имена таблиц и полей в
таблицах. При этом необходимо придерживаться ряда правил.
- Имена полей в таблице не
должны повторяться, т. е. должны быть уникальными.
- Имена полей могут
содержать не более 64 символов, включая пробелы.
- Желательно избегать
употребления имен полей, совпадающих с именами встроенных функций или свойств
Microsoft Access (например, Name — имя).
- Имя поля не должно
начинаться с пробела или управляющего символа (коды ASCII 00-31).
- Имена полей могут
содержать любые символы, включая буквы, цифры, пробелы, специальные символы,
за исключением точки (.), восклицательного знака (!), апострофа (') и
квадратных скобок ([), (]).
Эти же правила
действительны и для имен таблиц, а также других объектов Microsoft
Access.
Совет
Рекомендуется не
использовать очень длинные имена, т. к. они плохо запоминаются, и не включать в
имена большое количество пробелов, особенно если с именами предполагается
работать с помощью процедур Visual Basic for Application. Чтобы следовать этой
рекомендации и при этом получать понятные имена, можно либо использовать вместо
пробелов между словами знак подчеркивания (_), либо писать все слова слитно, но
каждое начинать с заглавной буквы.
После ввода
имени поля необходимо задать тип данных, которые будут находиться в этом поле.
Наиболее удобным способом является выбор типа из списка, но наименование типа
можно ввести и вручную. Обычно при ручном вводе Конструктор автоматически
предлагает закончить вводимое название типа. В Microsoft Access имеются
следующие типы данных:
- Текстовый (Text)
— символьные или числовые данные, не требующие вычислений. Поле данного типа
может содержать до 255 символов. Размер текстового поля задается с помощью свойства
Размер поля (FieldSize), в котором указывается максимальное количество
символов, которые могут быть введены в данное поле. При необходимости ввести
строку большего размера, чем указано в данном свойстве, надо значение свойства
изменить, т. к. место под дополнительные символы не резервируется. Независимо
от длины текстового поля оно хранится в базе данных Access в записи переменной
длины. Access не занимает память под неиспользуемую часть текстового поля в
записи, что уменьшает общий размер базы данных.
- Поле MEMO (MEMO)
— поле MEMO предназначено для ввода текстовой информации, по объему
превышающей 255 символов. Такое поле может содержать до 65 535 символов. Этот
тип данных отличается от типа Текстовый (Text) тем, что в таблице
хранятся не сами данные, а ссылки на блоки данных, хранящиеся отдельно. За
счет этого ускоряется обработка таблиц (сортировка, поиск и т. п.). Поле типа
MEMO не может быть ключевым или проиндексированным.
Совет
Не используйте поле типа
MEMO, если нужно будет сортировать записи таблицы по данному полю — это
невозможно. Если 255 символов не достаточно для хранения всех данных, придется
разбить его на два или три текстовых поля.
- Числовой (Number)
— числовой тип применяется для хранения числовых данных, используемых в
математических расчетах. Имеет много подтипов. От выбора подтипа (размера)
данных числового типа зависит точность вычислений. Для установки подтипа
числовых данных служит свойство Размер поля (FieldSize). Данные этого
типа могут содержаться в 1, 2, 4, 8 или 16 байтах. Обычно по умолчанию
используется подтип Длинное целое (Longlnteger), который занимает 4
байта и представляет собой число в пределах от -2 147 483 648 до +2 147 483
647. Но, кроме этого типа, можно указать Байт (Byte) — 1 байт, Целое
(Integer) — 2 байта, Одинарное с плавающей точкой (Single) — 4
байта, Двойное с плавающей точкой (Double) — 8 байтов, Десятичное
(Decimal) — 12 байтов, Код репликации (Replication ID) — 16
байтов.
- Дата/Время
(Date/Time) — тип для представления даты и времени. Позволяет вводить даты
с 100 по 9999 год. Размер поля — 8 байтов. Даты и время хранятся в специальном
фиксированном числовом формате. Дата является целой частью значения поля типа
Дата/Время, а время — его дробной частью. Access предоставляет большой выбор
форматов отображения даты и времени.
- Денежный
(Currency) — тип данных, предназначенный для хранения данных, точность
представления которых колеблется от 1 до 4 десятичных знаков. Целая часть
данного типа может содержать до 15 десятичных знаков.
- Счетчик
(AutoNumber) — поле содержит 4-байтный уникальный номер, определяемый
Microsoft Access автоматически для каждой новой записи либо случайным образом,
либо путем увеличения предыдущего значения на 1. Значения полей типа счетчика
обновлять нельзя. Максимальное число записей в таблице с полем счетчика не
должно превышать двух миллиардов.
- Логический
(Yes/No) — логическое поле, которое может содержать только два значения,
интерпретируемых как Да/Нет, Истина/Ложь, Включено/Выключено. Поля логического
типа не могут быть ключевыми, но их можно индексировать.
Внимание
Access использует величину
-1 для представления значения Истина и величину 0 — для значения
Ложь.
- Поле объекта OLE
(OLE object) — содержит ссылку на OLE-объект (лист Microsoft Excel,
документ Microsoft Word, звук, рисунок и т. п.). Объем объекта ограничивается
имеющимся в наличии дисковым пространством. Тип объекта OLE не указывается в
свойствах поля объекта OLE. Он зависит от приложения, использованного для
создания объектов OLE, которые хранятся в этом поле. Упаковщик объектов
позволяет внедрять файлы, созданные приложениями, которые не являются
серверами объектов OLE. Например, он позволяет внедрить текстовые файлы в
качестве объектов в таблицы Access 2002. В поле объекта OLE могут храниться
произвольные данные, в том числе и данные нескольких типов. Это позволяет
обойти основное ограничение реляционных баз данных, которое требует, чтобы в
каждом поле хранились данные только одного типа.
- Гиперссылка
(Hyperlink) — дает позможность хранить в поле ссылку, с помощью которой
можно ссылаться на произвольный фрагмент данных внутри файла или Web-страницы
на том же компьютере, в интранет или в Интернет. Гиперссылка состоит из
четырех частей: отображаемый текст, адрес (путь к файлу или странице),
дополнительный адрес (положение внутри файла или страницы) и текст всплывающей
подсказки. Каждая часть гиперссылки может содержать до 2048 символов. Поле
типа Гиперссылка не может быть ключевым или
индексированным.
В поле типа
можно также выбрать значение Мастер подстановок (Lookup Wizard), который
запускает Мастера подстановок (Lookup Wizard), создающего поле подстановок.
Поле подстановок позволяет выбирать значение поля из списка, содержащего
набор постоянных значений или значений из другой таблицы. (О поле подстановок
мы подробно будем говорить позже в разд. "Использование Мастера подстановок"
данной главы.)
Как только вы
выбираете тип данных для поля, так на нижней панели окна отображается список
свойств этого поля. Данный список зависит от типа поля. Для того чтобы
просмотреть или изменить свойства конкретного поля таблицы
необходимо:
- Выделить нужное поле
таблицы (то есть установить курсор в строку с именем поля) в окне
Конструктора.
- Раскрыть вкладку
Общие (General) для просмотра общих свойств поля или вкладку
Подстановка (Lookup) для просмотра параметров
подстановки.
Рассмотрим
основные свойства полей для каждого типа данных.
Свойства полей таблицы
Для большинства
типов данных характерно свойство Подпись (Caption). С помощью этого
свойства можно задать названия полей таблицы, которые выводятся в различных
режимах (в надписях, присоединенных к элементам управления формы, в заголовке
столбца в режиме Таблицы; в строке заголовка в режиме Формы; в заголовке отчета,
выводящемся в режиме Предварительного просмотра; текст, который выводится в
элементе управления). Поле может содержать до 2048 символов.
Кроме того, для
большинства типов данных существует свойство Обязательное поле
(Required), которое определяет необходимость ввода данных в это
поле..
Совет
Настоятельно рекомендуем
устанавливать значение этого свойства равным Да (Yes) для тех полей таблицы,
которые не должны быть пустыми. Это обеспечивает автоматический контроль ввода
данных в такие поля, т. е. ни при каких обстоятельствах пользователь не сможет
создать запись, в которой данное поле останется пустым.
Свойство
Формат поля (Format) указывает формат отображения данных из поля в режиме
Таблицы. Для определения формата полей текстового типа используются специальные
символы форматирования. Для числовых полей значение формата можно выбрать из
раскрывающегося списка. Для логических полей можно выбрать из списка следующие
варианты: Да/Нет (Yes/No), Истина/Ложь (True/False), Вкл/Выкл
(On/Off). (Форматы полей мы будем подробно рассматривать в разд. "Форматы
отображения данных" этой главы.)
С помощью
свойства Маска ввода (Input Mask) указывается маска, позволяющая
автоматизировать проверку ввода символов в поле. Она применяется к таким полям,
как номер телефона, дата и т. д. Задавать маску ввода можно вручную или с
помощью Мастера. (К маскам ввода мы еще вернемся в разд. "Форматы отображения
данных" этой главы.)
Свойство
Индексированное поле (Indexed) определяет, является ли данное поле
индексированным, и если является, то в каком режиме. Существуют два режима
индексирования: Совпадения допускаются (Duplicates OK) и Совпадения не
допускаются (No duplicates). В первом случае поле может содержать
повторяющиеся значения, во втором — нет.
Для большинства
типов полей определено свойство Значение по умолчанию (Defau.lt Value). В
этом свойстве указывается значение, автоматически добавляемое в поле для каждой
новой записи, если это значение не введено пользователем.
Внимание
Обратите внимание, что
значение по умолчанию присваивается только при вводе новой записи. Если вы
установите это значение для таблицы, в которой уже существуют записи, то в
старых записях значение этого поля не изменится.
Два свойства,
которые тоже определены для большинства полей, позволяют выполнять проверку
данных, вводимых в поле:
- Условие на значение
(Validation Rule) — свойство определяет условие (ограничение),
накладываемое на вводимые в это поле данные. При несоответствии вводимых
данных указанному условию выдается сообщение об ошибке.
- Сообщение об ошибке
(Validation Text) — свойство определяет то сообщение, которое будет
выдаваться пользователю, если при вводе данных не соблюдается условие,
указанное в свойстве Условие на значение (Validation Rule).[Если это
свойство не указано, будет выдано стандартное сообщение об
ошибке.]
В табл. 2.2—2.4
приводятся свойства, специфичные для полей определенного типа.
Таблица
2.2. Дополнительные свойства текстового поля и поля
Memo
|
|
|
|
|
|
|
|
|
Пустые строки (Allow
Zero Length) |
Свойство определяет,
допустимо ли вводить в данное поле пустые строки
|
|
|
Сжатие
Юникод
(Unicode
Compression) |
Свойство определяет,
выполняется ли сжатие данных при сохранении для полей текстового типа (при
кодировке UNICODE удаляются все первые байты символов, если они равны
0)
|
|
|
Режим IME (IME Mode) |
Input Method Editor —
программа, позволяющая распознавать вводимые с помощью специальных кодов
символы азиатских алфавитов: китайского, корейского и японского. Свойство
позволяет указать режим преобразования, которое выполняется при получении
полем фокуса
|
|
|
Режим
предложений
IME (IME Sentence
Mode)
|
Определяет режим предложений
IME, которые применяются при получении полем фокуса |
|
Таблица
2.3. Дополнительные свойства полей числового и денежного
типа
|
|
|
|
|
|
|
|
|
Число десятичных
знаков (Decimal Places)
|
Свойство определяет
число десятичных знаков справа от десятичного разделителя. Значение
свойства можно выбрать из раскрывающегося списка. Чтобы число знаков
определялось автоматически, необходимо установить значение Авто
(Auto)
|
|
|
|
|
|
Таблица
2.4. Дополнительные свойства полей типа Счетчик
|
|
|
|
|
|
|
|
|
|
Это свойство
определяет размер и тип чисел, вводимых в поле. В данном случае из
раскрывающегося списка можно выбрать только два значения: Длинное целое
(Long Integer) и Код репликации (Replication ID). Код репликации
(Replication ID) является глобальным уникальным 16-байтовым значением,
которое используется для идентификации записи в таблице (см. гл. 18).
В случае, когда этому свойству присвоено значение Код репликации
(Replication ID), для данного поля доступной становится только часть
свойств |
|
|
Новые
значения
(New
Values)
|
Указывается способ
формирования следующего значения счетчика. Из списка можно выбрать два
варианта: Последовательные (Increment) и Случайные (Random) |
|
Использование Мастера подстановок
Сделать более
простым ввод значений в поле позволяет операция подстановки. Используя эту
операцию, можно выбирать значения поля из списка. Список значений может быть как
фиксированным, так и содержаться в таблице или запросе. Сформировать столбец
подстановок для поля помогает Мастер подстановок (Lookup Wizard). Давайте
создадим столбец подстановок для поля "КодКлиента" в таблице "Список рассылки
оповещений". Это даст нам возможность при вводе данных в эту таблицу вводить не
коды клиентов, которые мы не знаем, а выбирать из списка название организации, в
которой работает данное лицо. Чтобы использовать Мастера подстановок (Lookup
Wizard), необходимо:
- Открыть таблицу "Список
рассылки оповещений" в режиме Конструктора.
- Выделить поле
"КодКлиента" и выбрать из списка в столбце Тип данных (Data Туре)
значение Мастер подстановок (Lookup Wizard) (рис.
2.15).
Рис. 2.15.
Первое диалоговое окно Мастера подстановок
- В открывшемся диалоговом
окне Мастер подстановок (Lookup Wizard) выбрать способ задания
значений: Объект "столбец подстановки" будет использовать значения из
таблицы или запроса (I want the lookup column to look up the values in a
table or query), т. к. в этом случае мы должны использовать данные из таблицы
"Клиенты" (Customers). Нажать кнопку Далее (Next).
- В следующем диалоговом
окне можно выбрать из списка таблицу или запрос, из которого будет
осуществляться подстановка. Выбрать таблицу "Клиенты" (Customers) и нажать
кнопку Далее (Next) (рис. 2.16).
Рис. 2.16.
Второе диалоговое окно Мастера подстановок
- В списке Доступные
поля (Available Fields) выводятся все поля таблицы "Клиенты" (Customers).
Переместить из списка доступных полей в список подстановки (Selected Fields)
поля "КодКлиента" и "Название" и нажать кнопку Далее (Next) (рис.
2.17).
Рис. 2.17.
Третье диалоговое окно Мастера подстановок
- Просмотреть столбец
подстановки, с помощью перетаскивания границы выбрать ширину столбца, а также
оставить установленный по умолчанию флажок Скрыть ключевое поле (Hide
key column). Действительно, нам не нужно в раскрывающемся списке видеть коды
клиентов. Нажать кнопку Далее (Next) (рис. 2.18).
- Ввести название столбца
подстановок и нажать на кнопку Готово (Finish) (рис. 2.19). При
необходимости Мастер подстановок попросит сохранить те изменения, которые вы
внесли в таблицу, прежде чем окончательно установит подстановки — ответьте Да
(Yes). На этом процедура создания столбца подстановок
заканчивается.
Рис. 2.18.
Четвертое диалоговое окно Мастера подстановок
Рис. 2.19.
Пятое диалоговое окно Мастера подстановок
Замечание
Применять операцию
подстановки можно только к полям, содержащим текстовые и числовые данные, а
также к логическим полям. Другие типы полей не могут использовать
подстановку.
На нижней панели
окна Конструктора таблиц находится вкладка Подстановка (Lookup), в
которой определяются свойства поля, относящиеся к подстановке. Если столбец
подстановки для поля не определен, значение свойства Тип элемента управления
(Display Control) для текстовых и числовых полей равно Поле (Text
Box), для логического типа — Флажок (Check Box). При этом остальные
свойства на вкладке Подстановка (Lookup) отсутствуют.
Если вы хотите
добавить к полю столбец подстановок, то установите для свойства Тип элемента
управления (Display Control) значение Поле со списком (Combo Box)
или Список (ListBox).[Для просмотра таблицы в режиме Таблица эти поля
абсолютно равноценны, различаются они в формах. Поле Список отображается
на экране сразу в виде скроллируемого списка значений, а Поле со списком
отображается в виде выпадающего списка. (О других отличиях см. разд.
"Встроенные элементы управления" гл. 9.)]
В этом случае на
вкладке Подстановка (Lookup) появляется ряд свойств, позволяющих
управлять параметрами подстановки (рис. 2.20).
Рис. 2.20.
Столбец подстановок в таблице "Список рассылки оповещений"
Описание этих свойств приведено в табл. 2.5.
Таблица
2.5. Свойства подстановки для поля со списком
|
|
|
|
|
|
|
|
|
Тип источника
строк
(Row Source Type)
*
|
Свойство определяет
тип источника строк для списка или поля со списком. Может принимать три
значения: Таблица или запрос (Table/Query), Список значений (Value List) и
Список полей (Field List)
|
|
|
Источник
строк
(Row Source)
* |
Свойство определяет источник
данных элемента управления. При выборе типа источника строк Список
значений (Value List) оно представляет собой список элементов, разделяемых
точкой с запятой (;), в противном случае — имя таблицы или запроса или
инструкцию языка SQL |
|
|
Присоединенный столбец (Bound
Column) * |
Свойство определяет номер
столбца списка или поля со списком, содержащего значение элемента
управления. Если это свойство имеет значение 0, то в поле передается номер
строки списка, если 1 и больше, то в поле передаются данные из
соответствующего столбца списка. Значение этого свойства не может
превышать значение свойства Число столбцов (Column Count.) |
|
|
|
|
|
|
|
|
|
|
Число
столбцов
(Column Count)
*
|
Свойство определяет
число столбцов, выводимых в списке или в поле со списком. Если в качестве
источника строк используется Таблица или запрос (Table/Query), то в списке
будут выводиться столбцы таблицы, начиная с первого и заканчивая тем, |