Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_k_laboratornoy_rabote_Access_magistratura_2016.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.44 Mб
Скачать

II. Разработка многотабличных отчетов

Access позволяет создавать сложные отчеты, обеспечивающие вывод данных из нескольких взаимосвязанных таблиц БД. Для этого необходимые связи устанавливаются автоматически в соответствии со схемой данных. Многотабличные отчеты содержат основную часть и включаемую часть, т.е. подчиненный отчет. Каждая из этих частей строится на основе своей таблицы.

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

Рассмотрим построение отчета для таблиц, находящихся в одномногозначных отношениях. В этих отношениях одна таблица является главной, а другая подчиненной.

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

Многотабличный отчет с основной частью на базе главной таблицы.

Рассмотрим технологию создания многотабличного отчета на примере таблиц КАФЕДРА и ПРЕПОДАВАТЕЛЬ. Пусть необходимо подготовить отчет, содержащий сведения о кафедрах, включая списки преподавателей.

Макет отчета. Предположим, что макет для отчета со списками преподавателей по кафедрам должен иметь вид, представленный на рис. 8 .

Кафедра

( Текущая дата)

Н азвание кафедры______________________

Заведующий___________________________

Код______________ Телефон_____________

Преподаватели кафедры

Т аб. номер Фамилия И.О. Уч. степень Уч. звание

Рис. 8. Макет отчета о кафедрах.

В соответствии с проектом макета в отчет предполагается выводить данные по каждой кафедре, включая название, код и телефон, а также фамилию и фотографию заведующего. Эти данные содержатся в таблице КАФЕДРА. В табличной части по каждой кафедре необходимо вывести список преподавателей. Эти данные могут быть получены из таблицы ПРЕПОДАВАТЕЛЬ.

Предложенный макет дает основание выбрать в качестве основной таблицы отчета таблицу КАФЕДРА, а таблицу ПРЕПОДАВАТЕЛЬ - в качестве источника данных для подчиненной формы со списком преподавателей.

Создание основной части отчета.

В окне базы данных выберем закладку Отчеты и нажмем кнопку Создать. В окне Новый отчет выберем таблицу КАФЕДРА, которая будет источником данных для основной части отчета. Выберем Конструктор для построения отчета в режиме конструктора.

В окне конструктора отчетов добавим раздел Заголовок отчета (если он отсутствует) по команде Вид-Заголовок/Примечание отчета. Запишем в нем текст «КАФЕДРА», воспользовавшись кнопкой панели элементов Надпись. В область данных перетащим поля таблицы КАФЕДРА - НКАФ, ККАФ, ТЕЛ, ЗАВ и ФОТО из списка, который откроем кнопкой Список полей. Разместим поля и подписи, а также отредактируем их в соответствии с макетом на рис. 8.

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

Разработка подчиненного отчета.

Для вывода в отчет Кафедры списка преподавателей из таблицы ПРЕПОДАВАТЕЛЬ подготовим отдельный отчет, который будет включен в основную часть отчета в качестве подчиненного.

Создание автоотчета.

Подчиненный отчет создается как обычный однотабличный отчет. Для автоматического создания отчета в окне Новый отчет выберем Автоотчет: ленточный. В качестве источника данных этого отчета выберем таблицу ПРЕПОДАВАТЕЛЬ. Выбор ленточного отчета позволит получить многозаписевый макет для подчиненного отчета.

Рис. 9. Заполнение основной части отчета о кафедрах в режиме конструктора

Завершается создание автоотчета выводом на экран отчета, в котором в качестве заголовка взято имя таблицы. В отчет включены все поля таблицы и в качестве заголовков столбцов взяты подписи этих полей, заданные в свойствах таблицы.

Рис. 10. Подчиненный отчет, созданный в режиме Автоотчет: ленточный

Доработка подчиненного отчета.

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

Верхний и нижний колонтитулы не отображаются при использовании отчета как подчиненного. Для отображения в полном отчете заголовков столбцов из подчиненного отчета перенесем названия столбцов из верхнего колонтитула в заголовок подчиненного отчета. Для этого расширим раздел заголовка отчета, выделим все подписи столбцов в верхнем колонтитуле и перетащим их в заголовок. Для одновременного выделения всех подписей удобно установить курсор на вертикальной линейке колонтитула и протащить его по высоте колонтитула. Поскольку отчет будет использоваться только как подчиненный, можно удалить оба колонтитула по команде Вид - Колонтитулы. Удалим элемент поля ККАФ и его надпись Код кафедры, т.к. в подчиненном отчете значения этого поля будут повторяться во всех строках о преподавателях одной кафедры, а однократное отображение кода кафедры предусмотрено в основной части отчета. Окончательно доработанный подчиненный отчет приведен на рис. 11. Сохраним подчиненный отчет под именем Преподаватели.

Рис. 11. Подчиненный отчет для включения в отчет Кафедры

Включение подчиненного отчета. Воспользуемся самым простым способом включения подчиненного отчета в основной. Разместим на экране окно БД рядом с окном отчета Кафедры в режиме конструктора. Перейдем в окно БД. Выберем подчиненный отчет Преподаватели и перетащим его в область данных отчета Кафедры. Удалим подпись подчиненного отчета, выделив ее и нажав клавишу <DEL>.

Для включения подчиненного отчета можно также воспользоваться кнопкой панели элементов Подчиненная форма/отчет. При выключенной кнопке панели элементов Мастер элементов создается элемент Свободный с надписью Внедренный. В свойствах этого элемента необходимо на закладке Данные в строке Объект-источник выбрать встраиваемый отчет Преподаватели.

Рис.12. Многотабличный отчет КАФЕДРА

Просмотрите содержимое отчета Кафедры, и убедитесь, что его вид соответствует макету на рис. 12.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]