Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 3. Создание базы данных.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
484.86 Кб
Скачать

Отображение записей подчиненных таблиц в главной таблице

В Access имеется возможность при просмотре главной таблицы отображать записи подчиненных таблиц, называемых в этом случае подтаблицами. Это позволяет пользователю при добавлении, удалении и редактировании записей осуществлять контроль за корректностью связей в отображаемой цепочке таблиц. Например, если отобразить в таблице договор подчиненную таблицу поставка_план, связь между которыми осуществляется по полю ном_дог (номер договора), то при заполнении таблицы поставка__план невозможно допустить ошибку в поле ном_дог, т. к. оно даже не отображается в подчиненной таблице. Однако это никоим образом не помогает! при заполнении других полей связи таблицы поставка_план, таких как код^тов (код товара).

При просмотре таблицы, для которой определена подтаблица, отображается столбец со знаком "+" в каждой записи. Достаточно щелкнуть на знаке "+" в строке записи, чтобы отобразились записи подчиненной таблицы, связанные с текущей записью. При этом "+" преобразуется в "-" (минус). Щелчком на "-" подчиненные записи закрываются. Таким образом могут быть открыты подчиненные записи каждой записи главной таблицы. Если открыть все записи главной таблицы, вы увидите все записи подчиненной таблицы, разбитые на подмножества, связанные с конкретными записями главной таблицы (при условии, что для связи заданы параметры обеспечения целостности).

Открыть или закрыть все подчиненные записи можно, воспользовавшись командой меню Формат|Подтаблица|Развернуть все (Formar|Subdatasheet| Expand All) или Свернуть, все (Collapse All).

В таблице базы данных Access одновременно можно просматривать данные подтаблиц восьми уровней.

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

Для определения подтаблицы щелкните на знаке "+" в строке записи или выполните команду Подтаблица (Subdatasheet). Отобразится окно Вставка подтаблицы (Insert Subdatasheet) (рис. 3.38), в котором следует выбрать подчиненную таблицу или запрос и указать поля связи.

Рис. 3.38 Окно для выбора подчиненной таблицы и поля связи с ней

Если в главной и подчиненной таблицах поле связи имеет разные имена, то в окне Вставка подтаблицы (Insert Subdatasheet) можно ввести имена полей связи, при составном ключе имена полей разделяются точкой с запятой. Если в схеме данных между таблицами товар и поставка_план не было установлено связи, система может автоматически добавить эту связь в схему базы данных после ответа пользователя в окне диалога

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

Для просмотра свойств главной таблицы, например, товар, откройте ее в режиме конструктора и нажмите кнопку Свойства на панели инструментов. В строке свойства Имя подтаблицы (Subdatasheet Name) указано имя подчиненной таблица, в свойствах Подчиненные поля (Link Child Fields) и Основные поля (Link Master Fields) указано имя ключа связи (простого или составного) (рис. 3.40).

Рис. 3.40 Свойства таблицы поставка_план

В режиме конструктора таблиц можно определить другую подтаблицу, выбрав ее имя из списка в строке свойства Имя подтаблицы (Subdatasheet Name) и заменив значения в строках, определяющих связь с ней.

По умолчанию в строке Имя подтаблицы (Subdatasheet Name) установлено значение Авто (Auto), которое означает, что если в схеме данных установлена связь таблиц, Access автоматически выполнит вывод столбца со знаками "+" для открытия подчиненных записей по этой связи.

Если у таблицы имеются две или более подчиненных таблиц, определенных в схеме, то при щелчке на знаке "+" автоматически откроется окно для выбора подчиненной таблицы. После выбора подчиненной таблицы и сохранения главной таблицы эта связь фиксируется в свойствах. Для того чтобы в таблице не выводился столбец, позволяющий открывать подчиненные записи, в качестве значения свойства должно быть установлено Нет (None), Значение Нет (None) можно установить в режиме таблицы с помощью команды меню Формат|Подтаблица|Удалить (Formar|Subdatasheet|Remove) или соответствующей кнопки панели инструментов.

В подчиненной таблице можно выполнять те же действия, что и в главной: работать с данными или отображать подчиненную таблицу более низкого уровня.

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

ЗАДАНИЕ 5. Отображение подтаблиц

Просмотрите подтаблицы всех уровней для таблицы покупатель и товар.