2011-11-02 49 views

回答

13

將這個公式中存在抑制字段詳細信息部分:

WhilePrintingRecords; 
Global BooleanVar finished; 
finished := OnLastRecord 

,並在頁標頭此禁止式:

Global BooleanVar finished 
  • finished之前被初始化的頁標頭將會呈現。
  • 一旦你打印一個詳細記錄,它將被設置爲false
  • 當您最後到達最後一個細節部分時,finished設置爲true
  • 如果碰巧碰到另一頁的頁眉,finished仍然是true,Crystal會壓制頁眉。

這是一個有趣的問題。我以前遇到過這種行爲,但從來沒有試圖解決它。我認爲你需要使用一個變量,因爲在頁眉中,像Next()OnLastRecord這樣的常用選項不能區分是否有一個要打印的記錄和沒有更多要打印的記錄。我認爲運行總計會有同樣的問題 - 在一個頁面上打印更多記錄的值和在沒有打印記錄的頁面上的值相同。

+0

非常棒,那就是我一直在尋找的,以及2011年的一篇文章給出了一個提示。 –

+1

如果您有多個記錄,它會很好地工作,但如果您只有一條記錄,那麼它將不會打印頁眉... – shahk26

4

我找到更好的,和工作解決了這個答案(只是調整了諾亞的代碼位):

WhilePrintingRecords; 
Global BooleanVar finished; 
finished := OnLastRecord AND NOT OnFirstRecord 

和它的作品,即使細節只包含一行。

相關問題