Crystal reports Crystal报表公式有时不返回值

Crystal reports Crystal报表公式有时不返回值,crystal-reports,Crystal Reports,我有一个简单的公式,我更新了它以使用IF条件。根据CR设计器,没有错误。但是,公式仍然返回空字符串 这是新的公式 IIF (IsNull({TBL_Delivery_Order_Header.DOHD_TotalDOPrice}), sum ({VIEW_Delivery_Note.Price},{VIEW_Delivery_Note.PODD_Delivery_Order_No}) , {TBL_Delivery_Order_Header.DOHD_TotalDOPrice})

我有一个简单的公式,我更新了它以使用IF条件。根据CR设计器,没有错误。但是,公式仍然返回空字符串

这是新的公式

     IIF (IsNull({TBL_Delivery_Order_Header.DOHD_TotalDOPrice}), sum
({VIEW_Delivery_Note.Price},{VIEW_Delivery_Note.PODD_Delivery_Order_No}) , 
{TBL_Delivery_Order_Header.DOHD_TotalDOPrice})
这是老办法

sum({VIEW_Delivery_Note.Price},{VIEW_Delivery_Note.PODD_Delivery_Order_No}) 
若我只留下那个和的部分,那个么这个值是正确的。如果我在IIF条件中放入相同的求和部分,它将显示空字符串。它是完全相同的值,并且正确评估了条件

编辑: 记录存在时的值

记录不存在时的值


在第一种情况下,它工作正常,显示344222。在第二种情况下,它应该从价格列18260中取另一个值。相反,它显示为空

没关系。我发现了问题。这可能是我见过的最迟钝的东西

无论如何,问题不在于公式。显然,Crystal reports认为IIF表达式2中的null无效,尽管这就是IIF的全部原因。因此,它抛出了一个异常,因为
TBL\u Delivery\u Order\u Header.DOHD\u TotalDOPrice
为null,是表达式2的一部分。虽然当它为空时,在评估过程中甚至没有考虑它,但Crystal report仍然不喜欢它。正如我所说的,我是弱智

无论如何,公式编辑器中有一个下拉列表来决定如何处理空值。因此,我选择了“空值的默认值”而不是“空值的异常”。现在,突然间一切都好了(尽管我从未声明过任何默认值)


所以,最终证明这个公式是正确的。我只需要要求crystal report在发现空值时不要发出嘶嘶声。

没关系。我发现了问题。这可能是我见过的最迟钝的东西

无论如何,问题不在于公式。显然,Crystal reports认为IIF表达式2中的null无效,尽管这就是IIF的全部原因。因此,它抛出了一个异常,因为
TBL\u Delivery\u Order\u Header.DOHD\u TotalDOPrice
为null,是表达式2的一部分。虽然当它为空时,在评估过程中甚至没有考虑它,但Crystal report仍然不喜欢它。正如我所说的,我是弱智

无论如何,公式编辑器中有一个下拉列表来决定如何处理空值。因此,我选择了“空值的默认值”而不是“空值的异常”。现在,突然间一切都好了(尽管我从未声明过任何默认值)


所以,最终证明这个公式是正确的。我只需要要求crystal report在找到空值时不要抛出嘶嘶的拟合。

这个字符串由什么值组成
{TBL\u Delivery\u Order\u Header.DOHD\u TotalDOPrice}
如果记录存在,则为空值或一些随机值。如果记录存在,它工作正常。否则,该列将返回null。(我试着从rpt文件运行sql查询,结果正确)。这个字符串由什么值组成?
{TBL\u Delivery\u Order\u Header.DOHD\u TotalDOPrice})
如果记录存在,则为null或一些随机值。如果记录存在,它工作正常。否则,该列将返回null。(我试着从rpt文件运行sql查询,结果得到了正确的值)。