首先先來了解 Crystal Reports 處理報表模型 (詳情請參考 [msdn] 報表處理模型)
Crystal Reports 會自動根據公式的內容決定執行時間,但 BeforeReadingRecords、WhileReadingRecords 、 WhilePrintingRecords 及 EvaluateAfter 函式可以自行指定公式執行的時機。(請注意:該名稱必須出現在公式的第一行!)
◎ BeforeReadingRecords
指定在讀取資料庫資料前計算
◎ WhileReadingRecords
指定在讀取資料庫資料時計算
◎ WhilePrintingRecords
指定在列印資料時計算
Crystal Report 的摘要只能針對整份報表或是群組,以下介紹如何使用上述函式來對每頁做出統計資料。
§ 每頁小計的範例:在每頁的頁尾顯示出該頁的統計結果資料,e.g. 每頁資料筆數統計、每頁資料加總統計......
1. 先建立三個公式欄位
|
|
|
|
|
|
2. 將前述建立的三個公式放置到適當 Section (區段) 裡。(請參考上表顯示棕字)
3. 若除了第三項要於報表上顯示出來,其他兩項不想顯示出來的話,可於 Format Field (欄位格式設定) 選項中 Common (一般) 頁籤的 Suppress (抑制顯示) 屬性勾選設定隱藏之。
◎ EvaluateAfter
指定執行順序
§ 範例:
1. 先建立兩個公式欄位
|
|
|
|
2. 把該兩公式放入報表中 (先放入 Formula_B 再放入 Formula_A)
報表顯示結果為
因為放在同一區段的公式,其預設會依照其建立的先後順序來執行,所以結果是先執行 Formula_A 後再執行 Formula_B。 |
3. 更改 Formula_A (透過 EvaluateAfter 指定 Formula_A 要在 Formula_B 之後執行)
Formula_A |
|
報表顯示結果為
|
留言列表