Отчет "Квартальные обороты клиентов"
Иллюстрация 10.11. Отчет "Квартальные обороты клиентов"
В качестве подчиненного отчета может быть использована и форма. Например, отчет, аналогичный только что описанному, можно получить с помощью уже имеющейся в базе данных "Борей" формы "Подчиненная для квартальных оборотов" (Quarterly Orders Subform).
Для этого:
-
Скопируйте данную форму, задав ей новое имя "Подчиненная для квартальных оборотов 2".
-
Откройте полученную копию в режиме Конструктора и замените источник данных на запрос "Квартальные обороты клиентов по товарам", созданный для предыдущего примера. Сохраните и закройте форму.
Замечание
Источник данных для формы доступен в режиме Конструктора в окне свойств формы как свойство Источник записей (Record Source) на вкладке Данные (Data).
-
Затем скопируйте созданный ранее отчет "Квартальные обороты клиентов", задав ему новое имя "Квартальные обороты клиентов 2", и откройте его в режиме Конструктора.
-
Удалите подчиненный отчет и вместо него просто перенесите с помощью мыши созданную форму из окна базы данных в область данных отчета. Автоматически будет создан элемент
Подчиненная форма/отчет
(Subform/Subreport) с именем "Подчиненная для квартальных оборотов".
-
Теперь настройте высоту и ширину созданного элемента и в свойствах подчиненной формы на вкладке
Данные
(Data) определите связующие поля. Для этого нажмите кнопку Построителя справа от свойства
Подчиненные поля
(Link Child Fields) и задайте в появившемся диалоговом окне две пары одноименных связанных полей: "КодКлиента" (CustomerlD) и "ГодЗаказа" (OrderDate), таким же образом, как это было описано в предыдущем примере. Указанные поля запишутся в качестве значений свойств
Подчиненные поля
(Link Child Fields) и
Основные поля
(Link Master Fields).
Для полноты картины добавим в главный отчет два вычисляемых поля, которые будут показывать, на какую сумму клиент купил товара за год. Оба поля представляют собой текстовые поля, у каждого из которых свойство Данные (Control Source) задано выражением. Первое поле формирует надпись с номером отчетного года. Для вычисления значения этого поля используется следующее выражение:
="Итоги за " & [Reports]![Квартальные обороты клиентов 2]![Подчиненная для квартальных оборотов].[Report]![ГодЗаказа]
(для английской версии используйте название поля OrderYear). Второе поле содержит сумму всех заказов клиента за год и вычисляется с помощью следующего выражения:
=[Подчиненная для квартальных оборотов].Form![Итого]
(для английской версии используйте название поля Total), т. е. отображает поле "Итого" (Total) из подчиненной формы "Подчиненная для квартальных оборотов". Отформатируйте созданное поле для отображения в нем денежной суммы в том же виде, как отображаются денежные суммы в подчиненной форме, скопировав значения свойств Формат поля (Format) и Число десятичных знаков (Decimal Places).
Иллюстрация 10.12. Составной отчет, включающий подчиненную форму