使用Crystal Reports 8.5从公式编辑器中的For循环中检索数据的语法

时间:2012-11-29 12:05:39

标签: crystal-reports report

在公式编辑器中从for循环中的列表中检索数据的语法是什么?我写过类似的东西,但它显示错误。任何人都可以纠正吗?

Local NumberVar i;
Local NumberVar intCount := Count({FOODMASTER.FOOD_SORT});
For i := 1 to intCount Do
(
 If (i = 1) Then     
  {TMPMONTHLYDETAIL.TMP_QTY}[i];         
 Else If (i > 1) Then            
 Exit For;

 i := i + 1;

);

其中{FOODMASTER.FOOD_SORT}的数据类型为int,{TMPMONTHLYDETAIL.TMP_QTY}为十进制。

1 个答案:

答案 0 :(得分:0)

这段代码在逻辑上并没有真正有意义,更不用说语法了。你到底想要完成什么?您可能需要重新考虑一些事情,但这里有一些事情可以帮助您入门:

  1. 您不需要手动增加i,因为for循环会为您执行此操作,默认步长为1.
  2. 您说{TMPMONTHLYDETAIL.TMP_QTY}是数字,而不是数组或字符串,因此您无法通过{TMPMONTHLYDETAIL.TMP_QTY}[i]引用它。
  3. 你的for循环实际上并没有做任何有用的事情。在循环开始时,您执行i:=1,然后立即检查是否i=1,否则您只需退出循环。可以删除整个循环并将其简化为仅返回{TMPMONTHLYDETAIL.TMP_QTY}[1]