2009-09-16 24 views
2

是否有內置的晶體方法來檢測晶體報告中的表是否有任何行?如何檢測表中是否有行中的晶體2008

我已經創建了一個子報表,其中包含標題中的一些標題文本和表格信息的詳細信息行。

我希望能夠禁止打印標題文本,如果沒有什麼可打印的話。

此外,有沒有辦法將此傳遞給「主」報告,以便我可以完全打印子報告,如果沒有什麼要打印?

Regards

+0

看到有關這個問題的答案:http://stackoverflow.com/questions/1268348/retrieve-record-count-of-subreport-in-crystal-reports – 2009-09-16 19:06:43

回答

2

使用Count()函數。 將它與其中一個數據源字段一起使用。

從Crystal Reports 2008的幫助:

重載 計數(FLD) 計數(FLD,condFld) 計數(FLD,condFld,標準條件) 計數(x)的

參數 FLD是任何有效的數據庫或公式字段可以由函數進行評估。 condFld是一個用於對fld中的值進行分組的字段。 cond是一個字符串,指示condFld的分組類型。當condFld是Date,Time,DateTime或Boolean字段時,只能指定此參數。有關此參數的有效字符串的更多信息,請參閱摘要函數的條件。 x是可以通過正在使用的函數評估的值的數組。

返回 數

行動 使您可以計算出現在您的報告中的值(指定字段)。例如: 如果銷售報告包括所有已完成的訂單和每個訂單的金額,則可以計算報表上顯示的訂單總數(總計數)。 如果您將訂單拆分成組(例如,按它們來自的狀態分組的訂單),則可以計算每組的訂單數(在此情況下爲每個狀態)。 如果您將訂單分成日期或布爾組(例如,按照它們所在的月份分組的訂單),則可以根據日期或布爾字段中的特定更改計算每個組的訂單數量(在此情況下, 每月)。 如果指定一組單個值,則可以計算該組中的值的數量。有關這種計數的信息,請參閱數組彙總函數。

實例 下面的實施例都適用於基本和Crystal語法: 計數({orders.AMOUNT},{orders.CUSTOMER ID}) 這個公式計算的訂單數各組的訂單在金額字段(每個客戶的總訂單)。只要客戶ID字段中的值發生更改,訂單就會分成組。 計數({訂單。訂單金額},{訂單。訂單日期},「每月」) 在金額字段中計算每組訂單中訂單的數量(每個月的總訂單數)。每當「日期」字段中的值更改爲新的月份時,訂單就被分成組。 以下示例適用於Crystal語法: 如果Count({orders.ORDER ID})> = 100 Then 「恭喜您滿足您的配額!「 Else 」「 如果訂單數量爲100或更多,則打印祝賀信息,如果訂單數量少於100則不打印。 計數([1,2,3,4,5]) 5.返回值計數的總數在數組中

注:。在公式中使用此函數強制公式在打印時進行評估 有關評估時考慮的更多信息,請參閱評估時間

+0

感謝您的信息。 此外,有沒有辦法將此傳遞給「主」報告,這樣我就可以完全打印子報告,如果沒有什麼要打印? – 2009-09-16 21:26:10

+0

我認爲這將以另一種方式做你想做的事。 :):右鍵單擊主報表設計器中的子報表 - >格式子報表 - >子報表選項卡 - >抑制空白子報表 – MNZ 2009-09-17 13:42:20

+0

正如Nathan所說,以下是您可以在子報表和主報表之間共享變量的方式:http:// stackoverflow.com/questions/1268348/retrieve-record-count-of-subreport-in-crystal-reports/1268827#1268827 – MNZ 2009-09-17 13:47:14

相關問題