我正在修改现有的Crystal报告,该报告显示数据库中的netamount字段。我正在尝试这样做,因此报告会提示用户一个选项来覆盖净额结果。如果他们没有填写此提示字段,请使用数据库中的netamount。我尝试了这一点,但在公式字段上却没有得到任何错误。我也没有提示输入替代文本的字段。不知道我在想什么。当我尝试运行报表时,确实出现了数字错误,并且该报表引用了IF语句中的引号。
首先,我创建了一个名为netammount_override的新编辑参数。 其次,我制定了一个名为select_netamount的公式,请参见下面的代码。 第三,我在公式页面上放置了公式。
IF {?netamount_override} >""
THEN {DBTABLENAME.NETAMOUNT}
ELSE {?netamount_override}
不知道为什么我没有让该项目显示在提示屏幕上。运行报告时确实出现数字错误。该字段是一个数字。我确保公式worksthop还会说出null的默认值。
任何建议都将受到赞赏
答案 0 :(得分:0)
Crystal Report使用HasValue()
函数来测试参数或字段的值。因此,您可以将公式重写为:
IF HasValue({?netamount_override})
THEN {?netamount_override}
ELSE {DBTABLENAME.NETAMOUNT}
这将使您的公式可以检查您的可选参数字段是否具有值,并根据结果确定是使用数据库字段还是使用参数。
任何尝试使用未为HasValue()
函数分配值的可选参数的操作通常会导致错误消息“该参数无值”,我怀疑这是您的错误正在接收。