Access 2002. Самоучитель - Страница 11

Изменить размер шрифта:

Теперь щелкните по кнопке Создать. В окне Схема данных появится линия связи между таблицами Страны и Фирмы – рис. 3.31.

Access 2002. Самоучитель - i_039.png

Рис. 3.31

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

Мастер печати связей

Чтобы напечатать схему связей, необходимо:

1. Открыть соответствующую базу данных.

2. Открыть подменю Сервис в строке меню этой базы данных. Выбрать пункт Схема данных, чтобы открыть одноименное диалоговое окно.

3. Открыть меню Файл, а в нем активизировать опцию Печать схемы данных.

Подтаблицы

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

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

Чтобы создать подтаблицу, как обычно, сначала войдите в окно базы данных и откройте требуемую таблицу (пусть это будет таблица Страны). Она будет выглядеть так, как показано на рис. 3.32.

Access 2002. Самоучитель - i_040.png

Рис. 3.32

Перейдем в режим конструктора и щелкнем в этом режиме правой кнопкой мыши по заголовку таблицы – Страны: таблица (рис. 3.33). Откроется контекстное меню, в котором надо выбрать позицию Свойства. В результате на экране появится окно Свойства таблицы, в котором нас интересует конкретная позиция Имя подтаблицы. После щелчка в этой позиции (левой кнопкой) в строке появится стрелка прокрутки

Access 2002. Самоучитель - i_041.png

после нажатия на нее отобразится меню, содержащее те объекты базы данных (таблицы, формы, запросы), которые мы хотели бы видеть в качестве подчиненных в таблице Страны (рис. 3.34).

Access 2002. Самоучитель - i_042.png

Рис. 3.33

Access 2002. Самоучитель - i_043.png

Рис. 3.34

Выберем в этом меню позицию Таблица. Фирмы и после обычных преобразований (режим конструктора, сохранение изменений в таблице, окно базы данных, открытие таблицы) получим первичную таблицу Страны – рис. 3.35.

Access 2002. Самоучитель - i_044.png

Рис. 3.35

Следует добавить, что кроме поля Имя подтаблицы необходимо заполнить еще два поля в указанном окне Свойства таблицы, а именно: Подчиненные поля и Основные поля. Их надо заполнить именами тех полей, которые являются связующими между таблицами. В данном случае подчиненным полем будет Код фирмы, основным полем – Код.

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

Access 2002. Самоучитель - i_045.png

Рис. 3.36

Иначе говоря, на рис. 3.36 продемонстрирована иерархическая двухуровневая структура Страны и Фирмы. Теперь для таблицы второго уровня – Фирмы – выполним такие же действия с окнами Свойства таблицы и Имя подтаблицы (см. рис. 3.34). В качестве родительской таблицы примем Фирмы, а в качестве дочерней – Менеджер. Связанными полями в обеих таблицах определим Код фирмы. Тогда таблица Фирмы, в свою очередь, будет содержать свернутую информацию о менеджерах, что также показано на рис. 3.34. Если вы раскроете эту информацию, то увидите уже трехуровневую иерархическую структуру Страны, Фирмы и Менеджер (см. рис. 3.38). Таким способом в принципе можно создать иерархическое дерево. В пределах таблицы можно вложить до восьми уровней подтаблиц. Однако каждая таблица или подтаблица, как мы видим, может иметь только одну вложенную подтаблицу. Подтаблица, относящаяся к подчиненной форме, может использовать в качестве источника данных таблицу, запрос или форму.

Access 2002. Самоучитель - i_046.png

Рис. 3.37

Access 2002. Самоучитель - i_047.png

Рис. 3.38

Кроме того, Access 2002 автоматически создает подтаблицу в таблице, имеющей отношение «один-к-одному» или являющейся стороной «один» в отношении «один-ко-многим», если свойство таблицы Имя подтаблицы имеет значение Авто.

Но это еще не все. Подтаблицу можно создать (по мнению автора) и более простым способом. И в дополнение к этому Access 2002 позволяет создать инвертированную подтаблицу. Если подтаблица, включенная в таблицу Страны, показывает фирмы, относящиеся к данной стране (точнее, к записи, связанной с этой страной), то инвертированная подтаблица, включенная в таблицу Фирмы, отобразит страны, связанные с этой фирмой.

Покажем это построение с использованием более простого пути. Откроем таблицу Фирмы (рис. 3.38).

Теперь откроем меню Вставка и в нем позицию Подтаблица. На вкладке Таблицы выделим Страны. В этом случае таблица Фирмы будет основной, а таблица Страны – подчиненной. Поэтому в нижней части диалогового окна Вставка подтаблицы укажем с помощью стрелок прокрутки в качестве основного поля Код фирмы, а в качестве подчиненного – Код (рис. 3.39).

Access 2002. Самоучитель - i_048.png

Рис. 3.39

Открытая таблица Фирмы будет выглядеть так, как показано на рис. 3.40.

Access 2002. Самоучитель - i_049.png

Рис. 3.40

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

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

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

Резюме

1. Формирование таблиц является первым этапом создания БД, так как таблицы в Access – это те первичные, исходные файлы, на основе которых в дальнейшем строится вся база данных. Access 2002 и предыдущие версии предоставляют пользователю несколько разных вариантов построения таблиц.

Оригинальный текст книги читать онлайн бесплатно в онлайн-библиотеке Knigger.com