为什么在评估等于零的公式时报告会出错?

时间:2015-07-22 13:56:34

标签: crystal-reports crystal-reports-2008

我有这个公式字段:

global numbervar TotDiff;

WhilePrintingRecords;

if {@QuantExceding} <> 0 then
    TotDiff := TotDiff + ABS({@QuantExceding})
else
    TotDiff := TotDiff

最初,if子句不存在,所以我认为ABS在传递0时出错。然后我看到无论我对QuantExceding做什么,当它等于0时,报告错误out并突出显示调用QuantExceding

的if行或其他行的第一行

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

更改这样的公式并确保{@QuantExceding}首先评估:

WhilePrintingRecords;
EvaluateAfter({@QuantExceding});
global numbervar TotDiff;

if {@QuantExceding} <> 0 then
    TotDiff := TotDiff + ABS({@QuantExceding})
else
    TotDiff := TotDiff