Настройка печати групп отчета

Кроме тех свойств групп отчета, которые обсуждались выше, существует еще несколько свойств разделов отчета, которые влияют на представление групп в отчетах. Теперь мы опишем эти свойства.
 
Расположение групп в отчетах, имеющих несколько колонок
При печати отчета в несколько колонок (полос) на любом уровне группировки можно указать, чтобы каждая группа этого уровня всегда начиналась в новой колонке. Примером такого отчета является отчет "Товары по типам" (Products by Category) демонстрационной базы данных "Борей".
Для регулировки расположения групп на странице такого отчета используется свойство Новая строка или столбец (New Row or Col) раздела заголовка или примечания группы отчета. Установив это свойство равным До раздела (Before Section) для заголовка группы, можно заставить Access печатать каждую группу этого уровня группировки в новой колонке или новой полосе. Если значение свойства Новая строка или столбец (New Row or Col) установить равным После раздела (After Section), то данный раздел отчета печатается в текущей колонке или полосе, а следующий начинается в новой. И наконец, если значение этого свойства для заголовка группы установить равным До и после раздела (Before & After), то заголовок группы будет печататься в отдельной колонке или полосе, т. к. следующий за ним раздел данных тоже начнет печататься в новой колонке или полосе.
Повторение заголовка группы на каждой странице или колонке
Если группа занимает при печати больше одной страницы или переносится па следующую страницу, можно заставить Access печатать заголовок группы на каждой странице. Для этого используется свойство Повторение раздела (Repeat Section) заголовка группы. По умолчанию это свойство имеет значение Нет (No).
 
Скрытие повторяющихся данных в отчете
При составлении простых отчетов, содержащих отсортированные данные, могут возникать ситуации, когда в нескольких строках отчета в одном поле повторяются одни и те же данные, например наименование клиента, адрес и пр. Очевидно, что отчет будет выглядеть лучше, если данные в поле не будут повторяться, а будут печататься каждый раз только в первой строке. Каждое поле в области данных отчета имеет свойство Не выводить повторы (Hide Dublicates). Если установить это свойство равным Да (Yes) для поля, содержащего повторяющиеся данные, данные повторяться не будут. Для сравнения приводится один и тот же отчет с разными значениями свойства Не выводить повторы (Hide Dublicates) для поля "Название" (CompanyName).
Если в отчете используется группировка, то не всегда группирующее поле выносится в отдельный раздел (заголовок или примечание группы). Иногда его оставляют в области данных отчета, вынося итоговые значения в раздел примечания группы. В этом случае также используется свойство Не выводить повторы (Hide Dublicates), для группирующего поля, чтобы не выводить повторяющиеся значения. Отчет при этом будет выглядеть так, как это показано.
 
Проведение вычислений
В предыдущих разделах данной главы мы создавали вычисляемые поля в отчетах главным образом для вывода итоговых значений. Сейчас мы покажем еще несколько типов вычисляемых полей, которые применяются для решения типовых задач.
 
Создание полей, содержащих сумму с накоплением
Часто в отчетах требуется создать поле, в котором суммируются значения из всех предыдущих записей. Такое поле представляет собой специальный вид итогового значения.
Для того чтобы текстовое поле накапливало данные из предыдущих записей, нужно установить для него значение свойства Сумма с накоплением (Running Sum) равным либо значению Для группы (Over Group), либо Для всего (Over All).
Значение Для группы (Over Group) используется, когда нужно просуммировать значение в пределах одной группы, в следующей группе это значение сбрасывается в О и суммирование начинается вновь.
Значение Для всего (Over All) используется либо в том случае, когда в отчете нет группировки, либо когда нужно получить итоговое значение по всем группам.

Такое накапливающее поле может быть размещено либо в области данных, и тогда оно будет суммировать данные в каждой записи, либо в области заголовка или примечания группы, тогда оно будет накапливать итоговые значения для всех групп одного уровня. Пример отчета, содержащего поля с накоплением. Первое вычисляемое поле в этом отчете содержит выражение: = [ОтпускнаяЦена] (для английской версии = [ExtendedPrice]) и имеет свойство Сумма с накоплением (Running Sum), равное значению Для группы (Over Group), второе содержит такое же выражение, но имеет значение данного свойства, равное значению Для всего (Over All).