Crystal reports 数据源为空时出现公式错误

Crystal reports 数据源为空时出现公式错误,crystal-reports,Crystal Reports,我在vs2012的asp.net应用程序中使用crystal reports。 我在数据源组中有一个公式 即: 如果({PB_Portal_Reports_RestrictionRepClass.Amount}>0),则 t:=ToText({PB\U Portal\U Reports\U RestrictionRepClass.Amount})+++{PB\U Portal\U Reports\U RestrictionRepClass.Currency} 其他的 t:=“xxx” 当我至少有

我在vs2012的asp.net应用程序中使用crystal reports。 我在数据源组中有一个公式 即:

如果({PB_Portal_Reports_RestrictionRepClass.Amount}>0),则 t:=ToText({PB\U Portal\U Reports\U RestrictionRepClass.Amount})+++{PB\U Portal\U Reports\U RestrictionRepClass.Currency} 其他的 t:=“xxx”

当我至少有一条记录时,报告会根据需要工作,但当我通过记录数为0的列表时,则出现错误

这里需要一个字符串。 详细信息:文件收集列表报告{E78D7A32-A1D9-4C39-B11A-C333992049DC}中的错误。rpt: 公式amn中的错误: '如果({PB_Portal_Reports_RestrictionRepClass.Amount}>0),则' 这里需要一个字符串。 详情:errorKind

我尝试使用isnull或类型转换,甚至尝试先检查一些其他变量“has_data”,然后才尝试进行此比较,但仍然无法解决此错误, 请帮帮我安德烈

你为什么要在这里转换成文本

 t:= ToText({PB_Portal_Reports_RestrictionRepClass.Amount})
我想你只要用它就可以了

t:=({PB\u Portal\u Reports\u RestrictionRepClass.Amount})

试试看,让我知道它是否有效

干杯


Chris

不,它不起作用,实际上这是我的众多代码变体之一,我尝试使用不同的变量,但大多数情况下都没有,我只是在报告选项(Crystal Reports->report->report options)中返回值,查看是否有“将数据库空值转换为默认值”和“将其他空值转换为默认值”选中的。那可能会有帮助。你解决过这个问题吗?我遇到了同样的问题。我得到了一个“字段未知”的异常,但同样的问题。不,实际上我没有。我的解决方法不是使用公式。我把我需要的逻辑放在数据集生成中