Иллюстрированный самоучитель по Microsoft Access 2002

Создание подчиненных отчетов

В результате в главном отчете будет создано поле Подчиненный отчет (Subreport). Вам потребуется только настроить высоту и ширину этого поля, удалить его метку, и вы получите отчет, аналогичный изображенному на рис. 10.11.

Иллюстрированный самоучитель по Microsoft Access 2002 › Подготовка составных отчетов › Создание подчиненных отчетов
Рис. 10.11. Отчет "Квартальные обороты клиентов"

В качестве подчиненного отчета может быть использована и форма. Например, отчет, аналогичный только что описанному, можно получить с помощью уже имеющейся в базе данных "Борей" формы "Подчиненная для квартальных оборотов" (Quarterly Orders Subform).

Для этого:

  1. Скопируйте данную форму, задав ей новое имя "Подчиненная для квартальных оборотов 2".
  2. Откройте полученную копию в режиме Конструктора и замените источник данных на запрос "Квартальные обороты клиентов по товарам", созданный для предыдущего примера. Сохраните и закройте форму.

    Замечание
    Источник данных для формы доступен в режиме Конструктора в окне свойств формы как свойство Источник записей (Record Source) на вкладке Данные (Data)
    .

  3. Затем скопируйте созданный ранее отчет "Квартальные обороты клиентов", задав ему новое имя "Квартальные обороты клиентов 2", и откройте его в режиме Конструктора.
  4. Удалите подчиненный отчет и вместо него просто перенесите с помощью мыши созданную форму из окна базы данных в область данных отчета. Автоматически будет создан элемент Подчиненная форма/отчет (Subform/Subreport) с именем "Подчиненная для квартальных оборотов".
  5. Теперь настройте высоту и ширину созданного элемента и в свойствах подчиненной формы на вкладке Данные (Data) определите связующие поля. Для этого нажмите кнопку Построителя справа от свойства Подчиненные поля (Link Child Fields) и задайте в появившемся диалоговом окне две пары одноименных связанных полей: "КодКлиента" (CustomerlD) и "ГодЗаказа" (OrderDate), таким же образом, как это было описано в предыдущем примере. Указанные поля запишутся в качестве значений свойств Подчиненные поля (Link Child Fields) и Основные поля (Link Master Fields).

В результате вы получите отчет, аналогичный представленному на рис. 10.12.

Для полноты картины добавим в главный отчет два вычисляемых поля, которые будут показывать, на какую сумму клиент купил товара за год. Оба поля представляют собой текстовые поля, у каждого из которых свойство Данные (Control Source) задано выражением. Первое поле формирует надпись с номером отчетного года. Для вычисления значения этого поля используется следующее выражение:

= "Итоги за " & [Reports]![Квартальные обороты клиентов 2]![Подчиненная для квартальных оборотов].[Report]![ГодЗаказа]

(для английской версии используйте название поля OrderYear). Второе поле содержит сумму всех заказов клиента за год и вычисляется с помощью следующего выражения:

= [Подчиненная для квартальных оборотов].Form![Итого]

(для английской версии используйте название поля Total), т. е. отображает поле "Итого" (Total) из подчиненной формы "Подчиненная для квартальных оборотов". Отформатируйте созданное поле для отображения в нем денежной суммы в том же виде, как отображаются денежные суммы в подчиненной форме, скопировав значения свойств Формат поля (Format) и Число десятичных знаков (Decimal Places).

Иллюстрированный самоучитель по Microsoft Access 2002 › Подготовка составных отчетов › Создание подчиненных отчетов
Рис. 10.12. Составной отчет, включающий подчиненную форму

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.