|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа 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. Обратите внимание на время, затраченное на обработку всех подотчетов при сохранении.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||