Сборник практических работ Access. Сборник Access. Урок Создание таблиц базы данных Рассмотрим последовательность необходимых действий при создании файла и таблиц базы данных. База данных Учебный процесс будет состоять из семи таблиц, свойства полей которых приведены в конце этой главы в приложении.
Скачать 2.9 Mb.
|
НГ (НГ Footer). Рис. Окно конструктора отчетов при разработке отчета для вывода данных из одной таблицы СТУДЕНТ Размещение данных в разделах отчета Данные в отчете должны быть размещены, как показано на проекте макета отчета (см. рис. 8.1). Размещение полей из таблиц Размещение поля группировки. Значение номера группы должно быть представлено один разв заголовке группы. Для этого разместим поле НГ в разделе Заголовок группы НГ (НГ Header). Нажмем кнопку панели инструментов конструктора отчетов Добавить поля и перетащим поле НГ в раздел заголовка НГ. Откорректируем подпись поля, изменив ее на Список студентов группы (рис. Установим нужный шрифт в элементах. Для установки размеров рамки по размеру текста подписи 100 выполним команду контекстного меню Размер |по размеру данных (Size|Size To Fit) или соответствующую кнопку панели инструментов. Форматирование табличной части отчета. Последовательно разместим поля НС, ФИО, ДАТАР, ПБАЛЛ в области данных, которая определяет содержимое строк табличной части. Поле размещается вместе с подписью, которую система берет из свойств полей таблицы СТУДЕНТ. Подписи полей надо перенести в область заголовка путем вырезания и вставки. Если они не совпадают с названиями столбцов в проекте макета, их надо откорректировать. Заметим, что подписи также можно создать заново, воспользовавшись кнопкой панели элементов Надпись (Lable). Включение вычисляемого поля в отчет Для включения расчетного реквизита Средний проходной балл группы нажмем кнопку Полена панели элементов и разместим элементы Свободный (Unbound) в раздел Примечание группы НГ (НГ Footer) (см. рис. 8.4). Определим в свойствах этого элемента выражение для расчета среднего значения. Для этого запишем на вкладке Данные (Data) в строку Данные (Control Source) функцию =Avg ([ПБАЛЛ]), в строку Число десятичных знаков (Decimal Places) – “2”, на вкладке Макет (Format) в строку Формат поля (Format) поместим значение Фиксированный. Отредактируем подпись поля. Для этого выделим подпись и вызовем ее свойства. В свойствах на вкладке Макет (Format) в строке Подпись (Caption) запишем Средний проходной балл группы. Такие действия, как изменение подписи или ввод выражения в поле можно выполнить, и не обращаясь к свойствам элементов. Добавление текущей даты к странице Для добавления в отчет текущей датывоспользуемся встроенной функцией Now(). Для этого создадим в заголовке отчета свободный элемент, нажав кнопку Поле (Text Box), и зададим в окне его свойств на вкладке Данные (Data) в строке Данные (Control Source) выражение =Now(). На вкладке Макет (Format) в строке Формат поля (Format) выберем значение Полный формат даты (General Date). Подпись этого поля выделим и удалим. Для добавления номера страницы в нижний колонтитул создадим свободный элемент и заполним в его свойствах на вкладке Данные (Data) строку Данные (Control Source) выражением =[Page]. Отредактируем подпись этого поля, записав в его свойствах на вкладке Макет (Format) в строке Подпись (Caption) значение Стр. Рассмотрим другие способы формирования поля даты и номера страницы. Поле текущей даты и времени можно добавить в отчет, выполнив в режиме конструктора команду Дата и время (Date and Time…). Установка в диалоговом окне Дата и время (Date and Time) флажков Формат даты (Include Data) и или Формат времени (Include Time) позволяет вставить текущую дату и/или текущее время и выбрать нужный формат (рис. Рис. Окно выбора формата даты и/или времени В отчет будет добавлено поле, в свойствах которого на вкладке Данные (Data) в строке Данные (Control Source) будет записано соответствующее выражение. Если в отчете имеется раздел заголовка, поле добавляется в этот раздел. В противном случае поле вносится в раздел данных. В качестве выражения записывается функция Format, которая формирует значение на основе заданных ей аргументов – функции Date(), возвращающей текущую системную дату, и формата, в котором должна выводится дата. Например, при выборе параметров, отображенных на рис, функция примет вид =Format(Date();”Long Date”). Поле нумерации страниц можно добавить в отчет, выполнив в режиме конструктора команду Номера страниц (Insert |Page Number). В окне диалога Номера страниц (Page Numbers) выбираются параметры, определяющие формат, расположение и выраынивание номеров страниц (рис. Для печати номера 102 страницы на первой странице устанавливается флажок Отображать номер на первой странице (Show Number on First Page). Замечание. Выражение, определяющее вывод номеров страниц, записывается в свойствах поляна вкладке Данные (Data) в строке Данные Source). Выражение может иметь вид Страница или Страница & [Page] & из & [Pages], что соответствует выбору Страница N (Page N) или Страница N из M (Page N of M). Рис. Окно выбора параметров номеров страниц. Завершение оформления отчета Для окончательного оформления введем в раздел Заголовок отчета (Report Header), вставить раздел Верхний колонтитул (Page Header) и выбрать нужный шрифт. Далее надо указать в свойствах отчета на вкладке Макет (Format) в строке Верхний колонтитул (Page Без заголовка (Not with Rpt Hdr). Свойства отчета могут быть вызваны при установке курсора на пересечении линеек. Создадим линии в соответствии с макетом, воспользовавшись кнопкой панели элементов Линия (Line). Просмотри печать отчета Переход из режима конструкторов в режим предварительного просмотра осуществим, нажав кнопку Предварительный просмотр (Report View) 103 (см.рис.6.2). Для просмотра ранее созданного отчета нужно выбрать его в окне базы данных на вкладке Отчеты (Reports) и нажать кнопку Просмотр (Preview). Отчет при просмотре отобразится на экране таким, каким он будет напечатан. В режиме предварительного просмотра имеется своя панель инструментов (рис. Рис. Панель инструментов предварительного просмотра отчета Для просмотра нужных страниц отчета можно использовать стандартное поле номера страницы В нижнем левом углу окна отчета. Кнопка Печать (Print) панели инструментов режима предварительного просмотра позволяет вывести отчет на печать. Рис. Первая страница отчета Списки студентов сданными из таблиц СТУДЕНТ в режиме предварительного просмотра. 104 С помощью команды Файл |Параметры страниц (File|Page Setup…) можно выбрать принтер, задать формат бумаги, размер полей, расстояние между строками, ориентацию (книжная, альбомная) и т.д. Команда Файл |Печать (File |Print…) позволяет выбрать для печати отдельные страницы отчета или выделенные записи, распечатать заданное число копий, вывести отчет в файл, который должен распечатываться в другое время. На рис приведена первая страница разработанного отчета Списки студентов в режиме предварительного просмотра. Урок 9. Отчеты по двум таблицам Наряду с однотабличными отчетами Ассеss позволяет создавать более сложные отчеты, обеспечивающие вывод данных из нескольких взаимосвязанных данных в многотабличный отчет автоматически используются связи, установленные в схеме данных БД. Многотабличные отчеты могут содержать основную часть и включаемую часть, те. подчиненный. Для каждой из этих частей в качестве источника данных выбирается своя таблица или несколько таблиц и при этом не иметь подчиненных отчетов. Рассмотрим далее построение отчета для двух таблиц, находящихся водно- многозначных отношениях. В этих отношениях одна таблица является главной, а другая – подчиненной. Построение такого отчета имеет свои особенности в зависимости от выбора главной или подчиненной таблицы в качестве подчиненного отчета. Многотабличный отчет с основной частью на базе главной таблицы Рассмотрим технологию создания многотабличного отчета на основе таблиц КАФЕДРА и ПРЕПОДАВАТЕЛЬ. Пусть необходимо подготовить отчет, содержащий сведения о кафедрах и включающий списки преподавателей пока- федрам. Проект макета отчета Предположим, что макет для отчета со списками преподавателей по кафедрам должен иметь вид, показанный на рис. 9.1. В соответствии с проектом макета в отчет предполагается выводить данные по каждой кафедре, включая название, код и телефона также фамилию и фотография заведующего. Эти данные содержатся в таблице КАФЕДРА. В табличной части по каждой кафедре необходимо вывести данные о преподавателях кафедре, которые содержатся в таблице ПРЕПОДАВАТЕЛЬ. Проект макета дает основание выбрать в качестве основной таблицы отчета таблицу КАФЕДРА, а таблицу ПРЕПОДАВАТЕЛЬ – в качестве источника данных для подчиненного отчета со списком преподавателей. Рис. 9.1. Макет для отчета со списками преподавателей по кафедрам Создание основной части отчета В окне базы данных Все объекты Access выберем таблицу КАФЕДРА, которая будет источником данных для основной части отчета. Далее выберем вкладку Создание и нажмем на кнопку Отчет. Щелкаем правой кнопкой мыши по появившемуся отчету КАФЕДРА и выбираем Конструктор для построения отчета в режиме конструктора. В область данных перетащим поля таблицы КАФЕДРА НКАФ, ККАФ, ТЕЛ, ЗАВ и ФОТО из верхнего колонтитула. Разместим поля и подписи, отредактируем их в соответствии с проектом макета на рис. 9.1. Сохраним отчет под именем Кафедры (см. рис. 9.2). Рис. 9.2. Заполнение основной части отчета о кафедрах в режиме конструктора Разработка подчиненного отчета Для вывода в отчет Кафедры списка преподавателей из таблицы ПРЕПОДАВАТЕЛЬ подготовим отдельный отчет, который будет включен в основную часть отчета в качестве подчиненного. Создание автоотчета Подчиненный отчет создается как обычный однотабличный отчет. Для автоматического создания отчета во вкладке Создание/Отчет выберем опцию Мастер отчетов. В качестве источника данных этого отчета выберем таблицу ПРЕПОДАВАТЕЛЬ. Создание автоотчета завершается выводом на экран отчета, в котором в качестве заголовка фигурирует имя таблицы (рис. 9.3). Вот- чет включены все поля таблицы, а заголовками столбцов являются подписи этих полей, заданные в свойствах таблицы. Доработка подчиненного отчета в режиме конструктора Для того чтобы подчиненный отчет можно было включить в основную часть отчета в нужном виде в соответствии с проектом макета, доработаем его в режиме конструктора. Верхний колонтитул, в котором после работы мастера оказались размещенными записи полей, и нижний колонктитул, где размещаются дата и номер страницы, не отобразятся при встраивании отчета как подчиненного. Для отображения в полном отчете заголовков столбцов табличной части перенесем название столбцов из верхнего колонтитула в заголовок подчиненного отчета. Рис. 9.3. Отчет, созданный в режиме Автоотчет: ленточный 108 Для этого расширим раздел заголовка отчета, выделим все подписи полей в верхнем колонтитуле и перетащим их. Поскольку отчет будет использоваться только как подчиненный, можно удалить оба колонтитула. Для этого нажмем правой кнопкой мыши на Верхний или Нижний Колонтитул и выберем Колонтитулы страницы. После этого в открывшемся окне нажимаем ДА. После этого оба колонтитула удалятся. Удалим элемент поля ККАФ и его надпись Код кафедры, т.к. в подчиненном отчете значения этого поля будут повторяться во всех строках о преподавателях, а однократное отображение кода кафедры предусмотрено в основной части отчета. Окончательно сконструированный подчиненный отчет приведен на рис. 9.4. Сохраним подчиненный отчет под именем Преподаватели. Рис. 9.4. Подчиненный отчет для включения в отчет Кафедры Включение подчиненного отчета Воспользуемся самым простым способом включения подчиненного отчета в основной. Разместим на экране окно базы данных рядом с окном отчета Кафедры в режиме конструктора, который представлен выше на рис. 9.1. Перейдем в окно базы данных. Выберем из перечня имен отчетов подчиненный отчет Преподаватели и перетащим его в область данных отчета Кафедры Удалим элемент надписи подчиненного отчета, выделив его и нажав 109 Рис. 9.5. Отчет на основе таблиц КАФЕДРА и РЕПОДАВАТЕЛЬ в режиме конструктора со встроенным подчиненным отчетом На рис. 9.5 подчиненный отчет отображен внутри отчета Кафедры где доступен для редактирования, как и основной отчет. Для того чтобы подчиненный отчет при отображении не был взят в рамку, выделим его, как видно на этом рисунке, откроем его свойства и на вкладке Макет в строке Тип границы выберем значение Отсутствует.Просмотрим содержимое отчета Кафедры см. рис. 9.6.), нажав на него 2 раза левой кнопкой мыши, и убедимся, что его вид соответствует проекту макета отчета на рис. 9.1. Рис. 9.6. Первая страница многотабличного отчета 110 Сортировка записей Для вывода записей отчета в нужном порядке задается критерий сортировки. Для этого в режиме конструктора надо нажать кнопку Итоги. При необходимости сортировки и группировки записей подчиненного отчета необходимо выполнить для него такие же действия. Урок 10. Многотабличные отчеты Рассмотрим технологию разработки отчета, основным источником которого является подчиненная таблица, когда данные главных таблиц относительно этого источника тоже включаются в ответ. Мастер отчетов позволяет построить многотабличный отчет для взаимосвязанных таблиц, выбрать из них нужные поля в заданной последовательности и указать, какая таблица из участвующих в отчете, будет записеобразующей, те. основным источником данных. Кроме того, мастер предоставляет возможность определить группировку и сортировку записей отчета по различным полям, подсчитать итоговые значения. Пусть необходимо получить отчет, в котором выводятся в виде списка данные о занятиях, проводимых в каждой группе. Строки отчета должны быть упорядочены по коду предмета. При выводе данных в отчете должны также формироваться расчетные суммарные часы по занятиям для каждой группы. Проект макета отчета, который должен быть создан для вывода данных о занятиях, проводимых в каждой группе, приведен на рис. 10.1. Рис. 10.1. Проект макета отчета о занятиях, проводимых в группах Выбор таблиц для отчета и варианта его создания. Основные сведения о занятиях, проводимых в группах, содержит подчиненная таблица ИЗУЧЕНИЕ. Из таблицы ИЗУЧЕНИЕ можно получить перечень идентификаторов занятий, проводимых в каждой группе, с указанием часов по занятию. Эта таблица является основным источником записей для создаваемого отчета. Наименования предметов содержит таблица ПРЕДМЕТа фамилии преподавателей – таблица ПРЕПОДАВАТЕЛЬ. Обе эти таблицы являются главными по отношению к таблице ИЗУЧЕНИЕ. Одно-многозначные связи между этими таблицами и подчиненной таблицей ИЗУЧЕНИЕ установлены в схеме данных базы по соответствующим идентификаторам занятия коду предмета и табельному номеру преподавателя. Начиная создание отчета во вкладке Создание, выберем Мастер отчетов В окне Создание отчетов см. рис. 10.2.) выберем из таблицы ИЗУЧЕНИЕ поля, включаемые в отчет НГ, ВИДЗ, ЧАСЫ. Рис. 10.2. Окно для формирования пользователем списка полей, включаемых в отчет Из таблицы ПРЕДМЕТ выберем поле с наименованием предмета НП, а из таблицы ПРЕПОДАВАТЕЛЬ поле ФИО. Замечание. Для того чтобы включать поля в нужной последовательности, следует иметь ввиду, что поле вставляется вслед за выделенным в списке полей уже включенных в ответ. Например, для включения поля НП сразу за полем НГ последнее должно быть предварительно выделено. На рис. 10.2. представлено окно Создание отчета после выбора всех полей, используемых в отчете. В следующем сеансе окна мастера в строке Выберите тип представления данных. Далее задаются уровни группировки, которые позволяют вывести 113 записи, объединенные по разным полям. Зададим один уровень группировки по полю НГ. При этом в окне отображается общая структура формируемого макета отчета. В следующем сеансе диалогового окна мастера Создание отчета задается порядок сортировки записей (рис. 10.3). Рис. 10.3. Окно мастера отчетов при выборе порядка сортировки строк Мастер позволяет производить сортировку по четырем полям в порядке возрастания или убывания значений поля. Выберем поле НП (Название предмета, по которому нужно произвести сортировку по возрастанию. Чтобы произвести подсчет итоговых значений, нажмем кнопку Итоги Для числовых полей в открывшемся окне Итоги будут выведены строки, в которых можно выбрать статистическую функцию (Sum, Avg, Min, Max) для подсчета значений в итоговой строке группы. В соответствии с проектом макета отчета (см. рис. 10.1) должно быть выведено суммарное число часов в поле отчета Итого по группе. Поэтому выберем для поля ЧАСЫ функцию Sum. Замечание. Если необходимо подсчитать долю суммарных часов группы от общих часов всех групп, нужно отметить флажок Вычислить проценты. Далее в следующем сеансе окна мастера (рис. 10.4) выберем из шести предлагаемых видов макета отчета Ступенчатый с Книжной ориентацией. Отметим флажок Настроить ширину полей для размещения на одной странице Потом зададим имя отчета – Изучение предметов в группах, которое также отобразиться в заголовке отчета. Под этим именем мастер автоматически сохраняет отчет в базе данных. Для того чтобы сразу доработать отчет, выберем дальнейшие действия – Изменить макет отчета. Отчет отобразиться на экране в режиме конструктора (рис. 10.5). 114 Рис. 10.4. Окно мастера отчетов при задании вида макета отчета Этот отчет по основным параметрам соответствует проекту макета отчета (см. рис. 10.1). в него включены поля из трех взаимосвязанных таблиц. Причем пользователь не потребовалось задавать связи между таблицами и включать в отчет поля КП (код предмета) и ТАБН (номер преподавателя, являющиеся полями связи. Рис. 10.5. Макет отчета о занятиях, проводимых в группах, построенный мастером и отображенный в режиме конструктора Отметим, что на основе информации, сохраняемой в схеме данных, и заданных пользователем полей при создании макета отчета, мастер сам строит необходимый запрос. Поэтому запросу формируются записи из полей нескольких взаимосвязанных таблиц. В свойствах отчета (рис. 10.6) в качестве источника записей мастер записывает инструкцию SQL, реализующую запроси определяющую выборку заданных полей из различных таблиц. Рис. 10.6. Окно свойств многотабличного отчета Изучение предметов в группах Запрос, созданный мастером при подготовке макета отчета, можно просмотреть и при необходимости откорректировать. Чтобы отобразить запрос на экране, нужно в диалоговом окне свойств отчета в строке Источник записей нажать кнопку |