Crystal Reports - 設計 Master / Detail 報表

本文使用 Crystal Reports XI 以簡單的出貨報表為範例,建立顯示訂單主檔的主報表及訂單明細檔的子報表,然後使用訂單編號當作參數,來連結這兩個報表。

建立子報表(訂單明細)
1.加入 SQL 查詢命令至報表:
SELECT OrderDetails.OrderNumber,OrderDetails.ProductID,
Products.Name,OrderDetails.UnitPrice,OrderDetails.Quantity,OrderDetails.ExtendedPrice FROM OrderDetails
INNER JOIN Products ON OrderDetails.ProductID=Products.ID
WHERE OrderDetails.OrderNumber={?訂單編號}
在命令中我加入了查詢參數{?訂單編號},所以必須在命令視窗右邊的參數清單建立名為訂單編號的命令參數,查詢參數才會有效。


2.在報表明細區段插入資料庫欄位後,將報表儲存為[訂單明細檔.rpt]。

建立主報表(訂單主檔)
1.加入 SQL 查詢命令至報表:
SELECT Orders.OrderNumber,Orders.ShipName,Orders.ShipCity,Orders.ShipPostalCode,
Orders.ShipAddress,Orders.OrderDate,Orders.ShippedDate
FROM Orders
WHERE Orders.OrderNumber={?訂單編號}
在命令中同樣也加入查詢參數{?訂單編號},所以也要在參數清單建立名為訂單編號的命令參數。

2.將訂單主檔的資料欄位插入頁首區段。

3.接著在訂單主檔下方插入子報表:[訂單明細檔.rpt]。

4.在主報表中點選[訂單明細檔.rpt],在滑鼠右鍵功能選單中選擇[變更子報表連結]。

5.在[子報表連結]視窗中,在主報表的[可使用的欄位]清單中,將[?訂單編號]加入[要連結的欄位]。然後,在[要使用的子報表參數欄位],選擇我們在子報表建立的[?訂單編號]參數,如此一來便會達到主報表與子報表共用參數的目的。完成後,按下確定關閉視窗。


6.最後將報表儲存,報表就完成了。


Share/Save/Bookmark

9 comments :: Crystal Reports - 設計 Master / Detail 報表

  1. 請問您是如何設定"離散值"呢?

  2. 因為新增參數時,其預設就是允許離散值的狀態(其預設值為"是"),也就是只允許使用者選擇或輸入單一值,所以基本上無需特別去設定。你可以在 [編輯參數欄位] 對話方塊的 [選項] 中,修改 [允許離散值] 的設定。

  3. 子報表可否像MSSQL Report server對子報表的處理方式當滑鼠移到訂單編號時ICON改變後點一下進入子報表.而不是像現在必須有個link的名稱在主報表上?

  4. 可以用ICON link到另一個報表,但是mouse over時不會改變ICON。MS的Reporting可以改變嗎?
    如果要這類的互動效果,可以用Xcelsius,你就可以感受到其互動的震撼效果。

  5. MS report server的icon會改變當移動到該欄位.例如由原先的箭頭改變成手指.而且可直接在IE上使用.不像CR想在IE上完全使用須加裝CR SERVER後使用Infoview. 不可否認的CR彈性遠大於MS Report.我知道Xcelsius 改名字為dashboard designer.不知道Xcelsius是否可以在IE上閱讀.

  6. 原來你是說這個......
    我原本以為您是說報表上有一個圖片,當mouse游標移動到圖上,會換成另一張圖。這CR沒辦法。

    但是你說的那個效果CR可以做到。
    剛用Crystal Reports結合.NET開發,部署到WEB上,以IE開啟網頁看報表。
    只要我的欄位設定成HyperLink,都會有您說的效果。
    當mouse游標移動到該欄位,由原先的箭頭改變成手指。

    Dashboard Designer的版本其產出可以是HTML和swf.....
    這兩種檔案格式都可以用IE開啟

    另外Presentation Design這個版本,雖不行產出HTML和swf,但也可以產出成PDF,PPT等格式。現在有免費取得授權的機會,不過今天(12/31)是最後一天,如果下載要把握機會。
    http://store.businessobjects.com/DRHM/store?Action=DisplayProductDetailsPage&SiteID=bobjasia&Locale=zh_TW&Env=BASE&productID=105571400

  7. 多謝了,但Presentation Design 在 win 7 & Excel 2010 的環境似乎有問題.因此裝不起來.不過會建議公司買一套 dashboard designer 來試試看.似乎它包含了Xcelsius & Presentation.不知道說了對不對.另外不知是否有人對 SharePoint 熟悉?

  8. Presentation Design就是Xcelsius Professional。
    Dashboard Design, personal edition就是Xcelsius Engage。
    Dashboard Design, departmental edition就是Xcelsius Enterprise。
    這些版本都可安裝在win 7 & Excel 2010 的環境。
    Service Pack 3的版本可直接安裝在win 7上。
    安裝在Excel 2010環境需要修改安裝檔即可順利安裝。

  9. 大棒了,多謝.是否可教導一下如何修改安裝檔.

張貼留言