2012-07-17 29 views
0

我想將值放入共享數組中,並將其打印到「詳細信息」部分中的另一個子報告中,以打印數組的一個值一個。錯誤顯示:「運行總數不能引用打印時間公式」(Crystal Reports)

我已經谷歌搜索,但我似乎並沒有得到正確的答案。

下面是代碼:

// 1st Sub Report 
WhilePrintingRecords; 
shared numberVar array Totdepot; 

Redim preserve Totdepot[UBound(Totdepot)+1];//more space added to array. 
Totdepot[UBound(Totdepot)+1]:={dtSumDe… + {dtSumDealer2.inv_depot2} + {dtSumDealer2.inv_depot3} + {dtSumDealer2.inv_depot4} + {dtSumDealer2.inv_depot5} + {dtSumDealer2.inv_depot7} + {dtSumDealer2.inv_depot6} + {dtSumDealer2.inv_depot8} + {dtSumDealer2.inv_depot9}; 

// 2nd Sub Report 
WhilePrintingRecords; 
shared numberVar array Totdepot; 
Totdepot 

我試圖打印數組的第二個值仍然不起作用。錯誤讀取: 「A運行總計不能指打印時間式」或「式的結果不能是一個數組」

回答

0

問題我

您的兩個公式的最後線不能數組;將其更改爲類似:

// 1st Sub Report 
WhilePrintingRecords; 
Shared NumberVar Array Totdepot; 

Redim preserve Totdepot[UBound(Totdepot)+1];//more space added to array. 
Totdepot[UBound(Totdepot)+1]:={dtSumDe… + {dtSumDealer2.inv_depot2} + {dtSumDealer2.inv_depot3} + {dtSumDealer2.inv_depot4} + {dtSumDealer2.inv_depot5} + {dtSumDealer2.inv_depot7} + {dtSumDealer2.inv_depot6} + {dtSumDealer2.inv_depot8} + {dtSumDealer2.inv_depot9}; 

// return a dummy value to eliminate array-error message 
True; 

// 2nd Sub Report 
WhilePrintingRecords; 
Shared NumberVar Array Totdepot; 

// return a dummy value to eliminate array-error message 
True; 

問題II

你將不能夠顯示同樣的方式,一個數據庫記錄中顯示的數組; Crystal Reports不會爲數組中的每個元素生成一個Details-section記錄。它不是爲了這樣做而設計的。

有兩個選項:

  • 創建公式字段,這將循環通過陣列,並創建一個逗號分隔(或其它字符)串。
  • 將計算推送到數據庫,以便它將返回可用的數據集。
+0

的細節部分,我正在大約是在晶體中的細節部分報告,當你從一個數據集放在列名,它遍歷的任何值它在數據庫中的列和顯示。 – user1532113 2012-07-17 15:30:58