2012-07-17 30 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