【问题标题】:Crystal Report-FORMULA水晶报表-公式
【发布时间】:2016-02-15 11:10:28
【问题描述】:
我正在尝试使用以下语法在 Crystal Reports 中使用数据库中的同一列创建两个 FORMULA 字段:
FORMULA1- COLL_DATE
if Collection_Rejection_Desc = 'Cleared'
then Coll_Rej_Dt
else null
FORMULA2- REJ_DATE
if Collection_Rejection_Desc = 'Rejected'
then Coll_Rej_Dt
else null
但它给了我一个错误,说“这里需要一个日期和时间字段”
我该如何解决这个问题?
【问题讨论】:
标签:
crystal-reports
formula
【解决方案1】:
在 if 条件下,您不能将一个值作为日期时间而将另一个值作为空值。像这样更改:
FORMULA1- COLL_DATE
if Collection_Rejection_Desc = 'Cleared'
then ToText(Coll_Rej_Dt)
else ""
FORMULA2- REJ_DATE
if Collection_Rejection_Desc = 'Rejected'
then ToText(Coll_Rej_Dt )
else ""
【解决方案2】:
您可能希望在条件正确时返回Coll_Rej_Dt,否则返回null。
您可以通过替换 if 条件来使用 Switch。因为在 if 条件下,需要在 true 部分和 false 部分返回相同的数据类型。
那么,试试这个……
Switch (Collection_Rejection_Desc = 'Cleared', Coll_Rej_Dt)
Switch (Collection_Rejection_Desc = 'Rejected', Coll_Rej_Dt)
这将在条件为真时返回值。