在葡萄城ActiveReports報表中提供強大的數據分析能力,您可以通過圖表、表格、圖片、列表、波形圖等控件來實現數據的貫穿鉆取,在一級報表中可以通過鼠標點擊來鉆取更為詳細的數據。
本文展示的是2012年度每天銷售數據合計,通過銷售日歷報表可以貫穿鉆取到當天的銷售明細報表。
1、創建報表文件
在應用程序中創建一個名為 rptVacations.rdlx 的 ActiveReports 報表文件,使用的項目模板為 ActiveReports 頁面報表,創建完成之后從 VS 的報表菜單項中選擇轉換為連續頁面布局(CPL)報表,將固定頁面報表轉換為連續頁面報表。
2、打開報表資源管理器,并按照以下信息創建報表數據源
名稱: | NorthWind_CHS |
類型: | Micorsoft OleDb Provider |
OLE DB 提供程序: | Microsoft.Jet.OLEDB.4.0 |
服務器或文件名稱: | Data\NWind_CHS.mdb |
3、 添加數據集
在新建的 NorthWind_CHS 數據源上鼠標右鍵并選擇添加數據集菜單項
常規-名稱:SalesByDay
查詢-查詢:
SELECT
訂單.訂購日期,
Sum
(訂單明細.單價*訂單明細.數量)
AS
營業額
FROM
訂單明細
INNERJOIN
訂單
ON
訂單明細.訂單ID = 訂單.訂單ID
WHERE
DateDiff("yyyy",'2012-01-01',訂單.訂購日期) = 0
GROUPBY
訂單.訂購日期;
4、設計報表界面
從 Visual Studio 工具箱中將 Calendar 控件添加到報表設計界面,按照以下列表設置 Calendar 控件的屬性:
數據 | 數據集名稱:SalesByDay 起始日期:=Fields!訂購日期.Value 截止日期:=Fields!訂購日期.Value 值:=Fields!營業額.Value |
導航 | 跳轉到報表:Reports\rptOrderDetailsForSub.rdlx
跳轉到報表-參數: 名稱=Date 值==Fields!訂購日期.Value |
5、創建貫穿報表的子報表
在應用程序中創建一個名為 rptOrderDetailsForSub.rdlx 的 ActiveReports 報表文件,使用的項目模板為 ActiveReports 頁面報表,創建完成之后從 VS 的報表菜單項中選擇轉換為連續頁面布局(CPL)報表,將固定頁面報表轉換為連續頁面報表。并為報表創建以下參數:
名稱: | Date |
數據類型: | DateTime |
提示用戶輸入值顯示的文本; | 其實日期: |
隱藏: | True |
6、在子報表中打開報表資源管理器,并按照以下信息創建報表數據源
名稱: | NWind_CHS |
共享數據源: | True |
引用: | ..\Data\NWind_CHS_Access.rdsx |
7、 添加數據集
在新建的 NWind_CHS 數據源上鼠標右鍵并選擇添加數據集菜單項
常規-名稱:OrderDetails
參數-名稱:Param
參數-值:=[@Date]
查詢-查詢:
SELECT
訂單.訂單ID, 訂單.客戶ID, 訂單.訂購日期, 產品.產品名稱,訂單明細.數量, 訂單明細.單價, 訂單明細.折扣
from
(( 訂單
innerjoin
訂單明細
on
訂單.訂單ID = 訂單明細.訂單ID )
innerjoin
產品
on
訂單明細.產品ID = 產品.產品ID )
where
? = 訂購日期
ORDERBY
訂單.訂單ID;
8、運行程序
點擊2012年度銷售數據報表中有數據的日期,然后可以貫穿鉆取到當天的銷售明細報表中:
在線演示及源碼下載地址:
http://www.gcpowertools.com.cn/products/activereports_demo.htm
相關閱讀:
文章列表