Диго С.М. Базы данных проектирование и использование (1084447), страница 58
Текст из файла (страница 58)
Следует обратить внимание, что заданное имя отчета выступает в двух ролях: как имя объекта-отчета и как название документа, выводимое в заголовке отчета. В нашем примере документ должен назваться «Ведомость на получение зарплаты». Такие длинные имена объектам обычно не присваиваются. Если переименовать объект Отчет после его создания, то заголовок документа не изменится. Переименовать его можно обычными способами, например, выделив название отчета в окне базы данных, после чего нажать правую клавишу мыши, в появившемся меню выбрать позицию «переименовать » и набрать новое имя. Как изменить заголовок отчета, будет рассмотрено ниже.
Кроме того, хотелось бы обратить внимание, что здесь мы рассматриваем некоторые возможности генераторов отчетов как инструментального средства и не касаемся других вопросов (проектирование структуры базы данных, проектирование форм документов, алгоритмы и пр.). Чтобы примеры были обозримыми, реальные ситуации сильно упрощены. Так, чтобы реально определить начисленную зарплату, даже если все сотрудники работают на окладе, необходимо определять, полный ли месяц отработал сотрудник (т.е. когда он принят на работу, пропускал ли работу по болезни или по каким-либо другим причинам, не был ли он в отпуске), не изменялся ли у него в данный период оклад и др. Естественно, что и сами таблицы должны быть спроектированы несколько иначе, чем в рассматриваемом примере.
9.2.3. Корректировка отчета в режиме Конструктор
Переход в режим Конструктор
Полученный в результате проведенных выше действий отчет имеет вид, представленный на рис. 9.15. Естественно, что он нуждается в корректировке. В нашем случае прежде всего следует изменить название отчета13, а также подписи для итоговых показателей.
Для того чтобы изменить полученный документ, необходимо перейти в режим конструктора отчетов. Для этого в пункте меню Вид можно выбрать команду Конструктор либо соответствующую кнопку на панели инструментов.
В режиме Конструктор полученный документ имеет вид, показанный на рис. 9.16.
При работе в режиме Конструктор на экране появляются три панели, используемые при создании/корректировке отчетов: «Конструктор отчетов», «Формат (форма/отчет)» и «Панель инструментов». Каждая из этих панелей может быть отключена. На рис. 9.16 отсутствует панель «Формат».
Часть кнопок «Конструктора отчетов» является общей для многих офисных Windows-приложений и знакома большинству пользователей. Поэтому рассмотрим назначение только тех кнопок, которые являются специфическими, предназначенными именно для построения отчетов:
-
Сортировка и группировка - выводит на экран соответствующее окно, в котором указываются поля, используемые для группировки и сортировки данных в отчете;
-
Панель элементов - включает и выключает режим показа в конструкторе отчетов панели инструментов;
-
Автоформат - выводит на экран диалоговое окно, позволяющее изменить внешний вид всего отчета в целом;
-
Свойства — выводит на экран окно свойств выделенного в данный момент в Конструкторе элемента. Каждое поле отчета обладает большим числом свойств. Некоторые из них будут рассмотрены ниже;
-
Построить - используется для вызова нужного построителя (выражений, макросов или программ).
Панель инструментов, которая отображена на рис. 9.16, полностью совпадает с одноименной панелью, используемой при создании экранных форм. Как отмечалось выше, отчеты могут выводиться не только на печать, но и на экран. В связи с этим надо обратить внимание на то, что некоторые кнопки, включенные в данную панель, имеет смысл использовать только при создании экранных отчетов (это прежде всего относится к раскрывающимся спискам, управляющим кнопкам и т.п.). Эти кнопки уже рассматривались при описании экранных форм, и в данном разделе мы к ним обращаться не будем.
Наиболее часто при создании/корректировке отчетов используются кнопки:
-
элементы надписи - попадают в отчет в том виде, в каком они представлены в «Конструкторе отчетов»;
-
элементы поля - указываются имена тех полей таблицы или запроса, данные из которых выводятся в отчете.
Корректировка отчета
Позиционируясь на соответствующем месте отчета и воспользовавшись кнопкой Надписи, изменим название отчета и сделаем его «Ведомость на выдачу зарплаты».
Далее изменим выражение
="Итоги для " & ""Код__ кафедры" = " & "" & [Код_ кафедры] & " (" & Count(*) & " " & 11f(Count(*)=1;"запись";"записей") & ")",
Sum =Sum([Оклад])
записанное в зоне «примечание для группы», на
="Итоги для кафедры"&" " & [Код_ кафедры]
=Sum([Оклад]).
Тем самым мы откорректировали подписи и отказались от подсчета числа записей в группе. Отчет в режиме Конструктор теперь имеет вид, представленный на рис. 9.17, а в режиме предварительного просмотра - на рис. 9.18.
Еще раз обратимся к отчету в режиме конструктора. Поскольку мы при формировании отчета запросили получение одной степени итогов, то в нашем отчете имеем следующие разделы (области):
-
Заголовок отчета;
-
Верхний колонтитул;
-
Заголовок группы «Код кафедры»;
-
Область данных;
-
Примечание группы «Код кафедры»;
-
Нижний колонтитул;
-
Примечание отчета.
Высоту области можно изменять, используя маркеры, расположенные на вертикальной линейке. Для этого подводят указатель мыши к маркеру и, когда он принимает вид двусторонней стрелки, при нажатой левой кнопке мыши перетаскивают его в нужном направлении.
Если в окне находится меньшее количество областей, чем вам нужно, то в пункте меню Вид следует отметить строки, соответствующие нужным областям отчета. Аналогичным образом могут быть удалены из отчета ненужные области.
Данные, находящиеся в области заголовка отчета, выводятся в начале первой страницы отчета. Как правило, в этой области помещают название отчета.
Данные, находящиеся в области верхнего колонтитула, выводятся в начале каждой страницы многостраничного отчета. На первой странице данные из области верхнего колонтитула выводятся вслед за данными из области заголовка отчета. В этой области при создании отчетов табличной формы обычно размещают названия столбцов, которые определяют содержание выводимых в отчете данных.
В области данных в режиме конструктора отображаются названия полей базовой таблицы (запроса). В самом отчете вместо них будут выводиться данные, хранящиеся в этих полях. Данные, размещенные в этой области, выводятся в отчете строка за строкой. В области данных, как, впрочем, и в любой другой области, также могут быть размещены вычисляемые поля.
Элементы, размещенные в области нижнего колонтитула, выводятся внизу каждой страницы отчета. Часто это бывают номера страниц либо какие-то элементы оформления.
В рассматриваемом нами примере в конце каждой страницы помещается текущая дата (см. зону «Нижний колонтитул» на рис. 9.16), а также номер страницы и общее число страниц в отчете. На рис. 9.17 эти данные просто не видны, поскольку на них изображена не вся страница, а только ее фрагмент.
В примечании отчета помещают, как правило, итоговые значения (в нашем примере - суммарный размер выплаченной зарплаты), подписи и другую информацию, которую вы хотите поместить в конце отчета. Данные из этой области выводятся на последней странице отчета.
Для облегчения создания отчета справа и сверху выводятся линейки, позволяющие установить размер соответствующего элемента. Размер области можно изменять, если подвести указатель мыши к границе области, и, когда он примет вид двусторонней стрелки, при нажатой левой кнопке мыши перетаскивать границу области в нужном направлении.
Продолжим корректировку полученного отчета, демонстрируя тем самым другие возможности генератора отчетов. Прежде всего перенесем название поля «Код_кафедры» в зону «Заголовок_группы». Для этого необходимо активизировать данный элемент отчета, подведя указатель мыши к любому месту выбранного элемента, и один раз щелкнуть левой кнопкой мыши (вокруг активных элементов появляются маркеры - маленькие черные квадратики по углам и в центре каждой из сторон), после чего добиться, чтобы указатель мыши принял форму «ладошки», нажать левую клавишу мыши и, не отпуская ее, перенести элемент на нужное место (предварительно передвинув вправо элемент-поле «Код_кафедры» в этой зоне чуть правее, чтобы освободить место для расположения надписи). После этого изменим размер обоих элементов в зоне заголовка группы, чтобы они отображались более компактно. Изменить размер элемента можно следующим образом: выделить элемент; позиционировать указатель мыши так, чтобы он принял форму двунаправленной стрелки, нажать левую клавишу мыши и перетащить стрелку в нужном направлении до достижения требуемого размера элемента. Наш отчет в режиме конструктора теперь имеет вид, представленный на рис. 9.19, а в режиме предварительного просмотра - на рис. 9.20.
Вычисления в отчете
В отчетах (так же как и в запросах, формах) можно использовать вычисляемые поля. Мы уже при рассмотрении отчета, полученного с использованием Мастера, встречались с ними и даже корректировали их (речь идет об итоговых показателях, номерах страниц, дате). Теперь рассмотрим, как можно создавать вычисляемые поля. Поскольку вычисляемое поле, как следует из его названия, является полем, то для включения в отчет следует использовать элемент-поле. Выбрав этот элемент на панели элементов, необходимо позиционировать курсор на нужном месте отчета. При этом в отчете создается элемент, включающий две части - имя поля и значение поля. Внутри прямоугольника, соответствующего имени поля, написано «Имя N», а внутри прямоугольника, соответствующего значению поля, написано слово «Свободный». Чтобы ввести выражение для вычисления значения поля, следует выделить соответствующий элемент, щелчком правой кнопки мыши вывести на экран контекстно зависимое меню, выбрать в нем строку Свойства, в появившемся окне Поле перейти на вкладку Данные и в строке Данные ввести требуемое выражение. Оно может вводиться вручную либо строиться с использованием построителя выражений. Выражение, вводимое в поле, должно начинаться со знака равенства. Для того чтобы воспользоваться построителем, следует щелкнуть по кнопке с многоточием. Построение выражения выполняется как обычно.
Предположим, что мы хотим ввести в нашу ведомость графу «Подоходный налог» (будем считать, что все сотрудники платят налог в размере 12%). Выражение, записанное в строку «Данные» окна Свойства полей, будет иметь вид
= [Оклад] * 0,12.
Чтобы закончить оформление вводимого элемента, перенесем в зону верхнего колонтитула имя этого поля и изменим его название на «Подоходный налог». Ведомость в режиме конструктора теперь имеет вид, представленный на рис. 9.21,а в режиме просмотра - на рис. 9.22.
Несмотря на то что, как мы видели, имеется возможность вводить вычисляемые поля непосредственно в отчет, часто бывает более удобно получить вычисляемое поле в запросе и использовать этот запрос в качестве источника данных для получения отчета.
Нередко в отчетах требуется осуществить нумерацию выводимых данных («Номер по порядку»). Для этого может быть использован следующий прием. Создадим в области данных отчета поле, в свойстве «Данные» которого занесем выражение =1, а в свойстве «Сумма с накоплением» укажем параметр «Для вещего», если необходимо осуществить сквозную нумерацию всех детальных строк отчета, и «Для группы», если в каждой группе нумерация должна начинаться заново. Мы выбрали для нашего примера последнюю из перечисленных возможностей (рис. 9.23). Далее в зоне верхнего колонтитула введем имя этой колонки. После этого отчет в режиме конструктора примет следующий вид (рис. 9.24).