Шаг 28.
Использование подтаблиц

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

   Структура реляционной БД, как правило, создается таким образом, что в одних таблицах, наряду с информативными данными, находятся коды, по которым можно найти связанные данные из других таблиц. Например, в БД Образование таблица Студенты связана по полю КодСтудента с таблицей Успеваемость, в которой находятся оценки студентов. Очевидно, работать с таблицей Студенты было бы удобнее, если бы в ней для каждого студента можно было бы отобразить его оценки, т.е. записи из таблицы Успеваемость, которые соответствуют его индивидуальному коду.

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

   Вообще говоря, подтаблицы автоматически создаются сразу после определения связей между таблицами. При этом рядом с каждой записью в таблице появляется изображение крестика, при нажатии на который будет развернута структура подтаблицы. Например, для таблицы Студенты такая структура будет создана на основе таблицы Успеваемость (рис. 1). Необходимо отметить, что данные в подтаблицах можно редактировать так же, как и в обычных таблицах (например, изменить студенту оценку по какому-либо предмету).


Рис. 1. Таблица Студенты с подтаблицей Успеваемость

   В меню Формат имеются команды для работы с подтаблицами текущей таблицы. Например, чтобы для каждой записи открыть подтаблицу, можно воспользоваться командой Формат | Подтаблица | Развернуть все.

   С другой стороны, чтобы свернуть все раскрытые подтаблицы, следует выполнить команду Формат | Подтаблица | Свернуть все.

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

   Чтобы удалить имеющуюся подтаблицу, следует воспользоваться командой Формат | Подтаблица | Удалить. В этом случае подтаблица будет удалена, и пользователь для данной таблицы может создавать подтаблицу по своему усмотрению.

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

   Чтобы создать новую подтаблицу, необходимо в открытой таблице выполнить команду Вставка | Подтаблица. Затем в диалоговом окне Вставка подтаблицы (рис. 2) можно выбрать таблицу (или запрос), данные из которой будут отображаться в подтаблице.


Рис. 2. Диалоговое окно Вставка подтаблицы

   Для таблицы Студенты в качестве подтаблицы необходимо на вкладке Таблицы выбрать Успеваемость. Затем нужно в качестве параметров Подчиненные поля и Основные поля указать поля, по которым выполняется связь (в данном случае это КодСтудента), и нажать кнопку ОК.

   В результате будет сформирована подтаблица, которая была ранее создана автоматически (рис. 1).

Эти действия можно увидеть здесь, а взять клип здесь.

   Можно также создать сложную структуру, состоящую из нескольких подтаблиц.

   Например, было бы удобно отображать для каждой оценки название предмета, по которому она получена. Для этого необходимо развернуть подтаблицу для одной из записей (рис. 1) и установить в ней курсор. Затем нужно выполнить команду Вставка | Подтаблица, выбрать для связи таблицу Предметы и указать в качестве связующего поля КодПредмета.

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

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

   Для этого следует в таблице Студенты развернуть подтаблицу Успеваемость, в которой для какой-либо записи отобразить подтаблицу Предметы. Затем установить в последнюю подтаблицу курсор, снова выполнить команду Вставка | Подтаблица. После этого выбрать таблицу Преподаватели и указать поле для связывания КодПреподавателя. В результате получится структура, состоящая из четырех уровней: основная таблица Студенты и три вложенные подтаблицы Успеваемость => Предметы => Преподаватели (рис. 3).


Рис. 3. Таблица Студенты с несколькими подтаблицами

Реализацию этих действий можно увидеть здесь, а взять клип здесь.

   На следующем шаге вы узнаете о применении подстановок в таблицах баз данных.



Предыдущий шаг Содержание Следующий шаг