【问题标题】:Formula for Suppressing Field if duplicate in Crystal Reports如果在 Crystal Reports 中重复,则用于抑制字段的公式
【发布时间】:2012-07-22 10:25:39
【问题描述】:

我有一个视图,它显示水晶报表上的数据,其中我有关税、租金、股票、毛额和净额等字段。我的问题是,如果有人更改数据库中的关税,它将显示 2 行具有不同关税的相同记录从数据库的角度来看这是正常行为,但如果相同的 id 具有不同的关税或在新记录中重复租赁,我想将每月租金字段抑制为 0。

ID  Tariff  Rental
1    20       390
1    15       390

如果基于 id 重复,我希望报表上的“租赁”字段被禁止。目前我在水晶报表中使用此公式来检查以前的字段数据并在重复时禁止。

{DatabaseField}=上一个({DatabaseField})

它工作正常,但如果 id 不同并且重复租用,那么它也会抑制我不想要的。我希望它只抑制相同的 id。

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    您必须将公式写入字段抑制。 (如果重复则无需抑制)

    租赁场地 {ID} = previous({ID}){rental} = previous({rental})

    如果 ID 和 Rental 相同,则只有 Report 会禁止 Rental。

    我想这对你有用。

    【讨论】:

      【解决方案2】:
      1. 在 Crystal Reports 中,右键单击详细信息部分并选择部分专家。

        1. 在“Section Expert”对话框中,选择“Suppress”命令旁边的 X + 2 按钮。复选框必须保持未选中状态才能使此公式起作用。
        2. 在“公式编辑器”对话框中,创建一个包含 Next 函数的条件公式,以评估记录中的重复值并隐藏“详细信息”行

        示例: {Table.Databasefield}=上一个({Table.Databasefield})

      【讨论】:

        【解决方案3】:

        我不得不对 Janarthanan 解决方案中的公式稍作更改,添加括号以使其适用于 Crystal XI。

        我用过:

        {ID}=previous({ID}) and {rental}=previous({rental})
        

        在编辑后的问题中提出的这种格式变化帮助我解决了类似的问题。

        【讨论】:

          【解决方案4】:

          把它放在要隐藏的字段的抑制公式中。

          如果 {myTable.ID} = previous({myTable.ID}) 那么 真的 别的 假的

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-10-27
            • 2019-09-30
            • 1970-01-01
            • 1970-01-01
            • 2011-05-02
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多