Crystal reports 使用Crystal Reports 8.5从公式编辑器中for loop内的列表检索数据的语法

Crystal reports 使用Crystal Reports 8.5从公式编辑器中for loop内的列表检索数据的语法,crystal-reports,report,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

在公式编辑器中,从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数据类型,{tmpmonthlydeail.TMP_QTY}是decimal。

这段代码在逻辑上没有什么意义,更不用说语法了。你到底想完成什么?您可能需要重新思考一些事情,但这里有一些事情可以让您开始:

  • 您不需要手动递增
    i
    ,因为for循环使用默认步骤1为您递增
  • 你说{tmpmonthlydeail.TMP_QTY}是数字,不是数组或字符串,所以你不能通过
    {tmpmonthlydeail.TMP_QTY}[i]
    引用它
  • 您的for循环实际上没有做任何有用的事情。在循环开始时,执行
    i:=1
    ,然后立即检查
    i=1
    ,否则退出循环。整个循环可以删除并简化为只返回
    {tmpmonthlydeail.TMP_QTY}[1]