Crystal Formula字段 - 拆分数字字符串数组,对它们求和,并返回总数返回布尔值而不是数字

时间:2015-03-11 21:25:05

标签: sql crystal-reports crystal-reports-2008

这是在Crystal Reports 2008中安装的所有Service Pack。 我尝试使用公式字段来获取空格分隔数字的字符串字段,将它们相加并返回总数。

以下代码。始终在预览和打印的报表上显示true。不完全确定我是否将报告中的字段框格式化错误或者输出错误但我确定它是愚蠢的。

任何正确方向的指针都会受到超级赞赏!

//Sample Field Values
//4.00    12.00   13.5   1  1  1  1
//3.00    12.50   13.5   1  1.5  1.5  1.5 


Numbervar LabourHrsINT;
Local Numbervar i;
Stringvar Array output:= Split({CR_VEH_HIST_.LABHRS}," ");

LabourHrsINT := 0;
for i := 1 to ubound(output) do (

    LabourHrsINT := LabourHrsINT + (if NumericText(output[i]) then
        Val(output[i]))

);

2 个答案:

答案 0 :(得分:1)

您的公式未评估总和的值。公式中的最后一项应该是LabourHrsINT的最终值。

Numbervar LabourHrsINT:=0;
Local Numbervar i;
Stringvar Array output:= Split({CR_VEH_HIST_.LABHRS}," ");

for i := 1 to ubound(output) do (

  if NumericText(output[i]) then
     LabourHrsINT := LabourHrsINT + Val(output[i])
);

LabourHrsINT

答案 1 :(得分:0)

我建议先进行数字检查然后再进行添加。

(if NumericText(output[i]) then
    LabourHrsINT := LabourHrsINT + Val(output[i]))