2016-12-14 86 views
0

分配轧制值I有两个公式Crystal报告:从阵列

@一级方程式 - 放置并抑制细节部分

WhileReadingRecords; 
stringvar array a; 
numbervar i; 
if length ({trips.SUP_SAME_PICK_DROP}) > 0 then (
    i := i + 1; 
    redim preserve a[i]; 
    a[i] := {trips.SUP_SAME_PICK_DROP}; 
); 
a[i] 

此公式只是增加{trips.SUP_SAME_PICK_DROP}值成阵列。

@ formula2

WhilePrintingRecords; 
stringvar array a; 
stringvar sh; 
numbervar r; 

for r := 2 to ubound(a) do (
    sh := a[r]; 
); 

sh; 

我希望它显示ř从第二细节行开始阵列的元件的值,在打印记录。就像,如果我打印报告的第二行,我想要@ formula2显示数组中的第二个元素,即填充在@ formula1中。 如果我正在打印第10行,我想要@ formula2显示数组中的第10个元素,即填充在@ formula1中。

现在@ formula2只显示数组的最后一个元素,当放置在details部分。如何实现我的目标?

+0

在** @ formula2 **中显示,它显示它。例子'... sh:= a [12]; ...'或'... sh:= a [3]; ...'这意味着,数组本身被正确填充。 – user2858200

回答

0

所以一切都是正确的,除了一件事 我已经加入到@ formula2(第一个行)

EvaluateAfter ({@formula1}) 

串,当我硬编码从数组特定元素是所有都很好