【问题标题】: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)
      

      这将在条件为真时返回值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-04
        • 2012-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多