我在水晶报告中的公式字段中出错?

时间:2014-06-11 08:27:14

标签: vb.net crystal-reports

我想如果x大于y则显示x else什么都不显示。这是我的代码

    numberVar x := sum({LedgerTbl.Debitables}) ;
    numberVar y := sum({LedgerTbl.Creditables});
    StringVar message := " ";
    if x > y then
    x
    else
    message

但我所做的总是给我一个错误“这里需要一个数字”。任何人都可以提前帮助我:D

3 个答案:

答案 0 :(得分:2)

你真的不需要使用变量来解决这个问题。

相反,请尝试:

// returns a numeric value or a Null
if sum({LedgerTbl.Debitables}) > sum({LedgerTbl.Creditables}) then
  sum({LedgerTbl.Debitables})

答案 1 :(得分:1)

1 - 检查数据库中的数据字段类型,它必须是INT。 2-尝试ToNumber功能如下:

 numberVar x := (sum(ToNumber({LedgerTbl.Debitables})));

Calculation Error in Crystal Report Fomula

答案 2 :(得分:0)

您正试图使用​​一个number value和一个string value因此错误。

使用totext将数字转换为字符串并使用如下。

numberVar x := sum({LedgerTbl.Debitables}) ;
    numberVar y := sum({LedgerTbl.Creditables});
    StringVar message := " ";
    if x > y then
    ToText(x)
    else
    message