这是在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]))
);
答案 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]))