Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Отчеты к базам данных для пользователей: Crystal Reports 11.5
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

Лабораторная работа 11.1 Применение связанных подотчетов

Подотчеты (subreports) в Crystal Reports 11.5, связывание информации в разных источниках данных, связанные подотчеты

Ситуация:

Ваше предприятие приобрело фирму Northwind, которая занимается продажей продуктов питания. Пользователям необходимо теперь создавать отчеты с информацией по обоим фирмам. Данные по продажам Xtreme лежат в файле C:\xtreme.mdb, данные по продажам Northwind — на сервере SQL Server с именем LONDON (или другим именем, которое укажет преподаватель) в базе данных Northwind.

Задание:

Создайте отчет с данными по продажам в странах фирмы Xtreme и Northwind и сохраните его как Lab11_1.rpt. В качестве образца используйте рис. 11.1.

Рис. 11.1 Образец отчета по двум источникам данных

Решение:

1. Создайте новый отчет в режиме As a Blank Report. В Data Explorer выберите базу данных C:\xtreme.mdb и добавьте таблицы Customer, Orders и Orders_Detail. Нажмите OK.

2. В окне Visual Linking Expert убедитесь, что связи между таблицами обнаружены правильно. Нажмите OK.

3. В Field Explorer щелкните правой кнопкой мыши по полю Formula Field и в контекстном меню выберите New. Введите имя поля формулы (например, Xtreme_Sales) и нажмите OK. В Formula Editor сконструируйте текст формулы. Он может быть таким:

{Orders_Detail.Unit Price} * {Orders_Detail.Quantity}

Сохраните формулу и закройте окно Formula Editor.

4. В Field Explorer добавьте в секцию Details поле Customer.Country и созданное вами поле формулы @xtreme_sales. Закройте Field Explorer и в секции Page Header измените заголовки столбцов на «Страна» и «Продажи XTREME».

5. В меню Insert выберите Group, в окне Insert Group выберите Customer.Country и in ascending order. Нажмите OK. В отчет будет добавлена группировка по странам.

6. В меню Insert выберите Summary, и в качестве поля, по которому будет производиться агрегирование, выберите поле формулы @xtreme_sales. Установите оператор агрегирования Sum, а для Summary Location установите Group#1: - Customer.Country - A. Вырежьте вставленное поле Sum of @xtreme_sales из Group Footer 1 и вставьте его в Group Header 1.

7. В режиме Design щелкните правой кнопкой мыши по секции Details и в контекстном меню выберите Suppress (No Drill-Down). Нажмите на кнопку F5, чтобы просмотреть получившийся отчет для базы данных XTREME. Вернитесь в режим Design.

8. В меню Insert выберите Subreport, затем в окне Insert Subreport установите переключатель в положение Create a subreport, введите имя подотчета (например, Northwind) и нажмите на кнопку Report Wizard.

9. На вкладке Data раскройте узел Create New Connection, затем раскройте узел Create New Connection | OLE DB (ADO) и щелкните по пункту Make New Connection. В окне OLE DB Provider выберите Microsoft OLE DB Provider for SQL Server и нажмите на кнопку Далее. На экране Connection Information введите имя сервера London (или другое, указанное вам преподавателем), установите флажок Integrated Security (или введите информацию об имени и пароле) и в списке Database выберите Northwind. Нажмите на кнопку Далее, а затем Готово. Добавьте из списка таблиц в базе данных Northwind таблицы Customers, Order Details и Orders. Нажмите на кнопку Finish, а затем на кнопку OK.

10. Перейдите на вкладку Northwind в окне главного отчета и создайте формулу Northwind_Sales как:

{Order_Details.UnitPrice} * {Order_Details.Quantity}

11. Разместите в секции Details подотчета Northwind поле Customers.Country и созданное вами поле формулы @Northwind_Sales.

12. Создайте в подотчете Northwind группировку по Customers.Country (см. п.6) и настройте отображение итогов по группе для формулы Northwind_Sales аналогично главному отчету.

14. Перейдите на вкладку Design для главного отчета, щелкните правой кнопкой мыши по вставленному отчету ( по умолчанию он находится в Page Footer) и в контекстном меню выберите Change Subreport Links. В окне Subreport Links выберите поле отчета Customer.Country и убедитесь, что ему установлено в качестве параметра поле подотчета ?PM-Customer.Country и поле отчета Country. Флажок Select Data in subreport должен быть установлен.

15. Перейдите на вкладку Northwind и в секции Group Header 1 удалите поле Group 1 Name. Подавите вывод (через контекстное меню для секций подотчета - Supress) всех секций подотчета, кроме Group Header 1. Через контекстное меню для самого подотчета и поля Sum of @Northwind_Sales уберите лишние рамки. Перейдите в режим Design для главного отчета и переместите подотчет в секцию Details, а затем разместите над столбцом подотчета текстовый объект «Продажи Northwind».

16. Перейдите в режим Preview для главного отчета и просмотрите полученный результат. Для всех стран будут выводиться данные о сумме продаж фирм XTREME и NORTHWIND. Для тех стран, о которых в Northwind нет никакой информации, данные о продажах Northwind выводиться не будут.

17. Сохраните отчет как Lab11_1.rpt. Обратите внимание на время, затраченное на обработку всех подотчетов при сохранении.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 

 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru