帮助If Else公式

时间:2010-12-23 11:13:55

标签: crystal-reports crystal-reports-2008 crystal-reports-xi

我想在每行的命令字段的基础上运行if else,

例如

 If {CommandField=0} Update counter by 1 return counter

 else if {CommandField=1} return 'Reporting'

我试了但是有错误

     stringVar layerType; 
shared numberVar layNo;

     if({Command.ISREPORT}=0) then
           layNo:=layNo+1;layerType:=layNo;layerType

     else if ({Command.ISREPORT}=1) then
      layerType:='Reporting'; layerType

结果应该像

ISREPORT   LayerNo
   0         1
   0         2 
   0         3
   0         4
   1       'Reporter' 

1 个答案:

答案 0 :(得分:1)

不确定我明白但是这是对的:

stringVar layerType; 
shared numberVar layNo;

     if({Command.ISREPORT}=0) then
     (     layNo:=layNo+1;
           layerType:=ToText(layNo);
           layerType;
     )
     else 
     (  if ({Command.ISREPORT}=1) then
           layerType:='Reporting'; 
           layerType
     )

......可以简化为:

shared numberVar layNo;

     if({Command.ISREPORT}=0) then
     (     
           layNo:=layNo+1;
           ToText(layNo);
     )
     else 
     (if ({Command.ISREPORT}=1) then
           'Reporting';)

..假设ISREPORT的值只能是0或1,那么我们可以进一步简化为:

shared numberVar layNo;

     if({Command.ISREPORT}=0) then
     (     
           layNo:=layNo+1;
           ToText(layNo);
     )
     else
     (
       layNo:=0;
       'Reporting';
     )

更新 - 我已更改最后一个示例,以便在“报告”时重置计数器。

编辑: 更改ToText(..到此ToText(layNo,0);(将小数位设置为零)

相关问题