如何在 crystal 报告中提示输入值,然后在输入值时覆盖数据库字段数据?尝试接收号码错误

How to prompt for a value in crystal reports, then override db field data if value entered? receiving number error on attempt

我正在修改现有的 crystal 报告,该报告显示数据库中的 netamount 字段。我试图做到这一点,以便报告提示用户可以选择覆盖净额结果。如果他们不填写此提示字段,请使用数据库中的净额。我试过了,但我没有在公式字段上收到错误。我也没有得到输入覆盖文本的提示字段。不知道我错过了什么。当我尝试 运行 报告并且它在 IF 语句中引用我的引号时,我确实遇到了一个数字错误。

首先,我创建了一个名为 netammount_override 的新编辑参数。 其次,我制作了一个名为 select_netamount 的公式,请参见下面的代码。 第三,我将公式放在报告页面上。

IF {?netamount_override} >""
THEN {DBTABLENAME.NETAMOUNT}
ELSE {?netamount_override}

不知道为什么我没有让这个项目出现在提示屏幕上。虽然 运行 报告时我确实收到了一个数字错误。该字段是一个数字。我确保公式工作室也说了空值的默认值。

非常感谢任何建议

Crystal 报表使用 HasValue() 函数来测试参数或字段的值。所以您可以将公式重写为:

IF HasValue({?netamount_override})
THEN {?netamount_override}
ELSE {DBTABLENAME.NETAMOUNT}

这将允许您的公式检查您的可选参数字段是否有值,并根据结果确定是使用数据库字段还是参数。

任何尝试使用未在 HasValue() 函数之外赋值的可选参数通常会导致错误消息 "The parameter has no value",我怀疑这是您的错误正在接收。