如果在Crystal Reports中重复,则禁止字段的公式

时间:2012-07-22 10:25:40

标签: crystal-reports

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

ID  Tariff  Rental
1    20       390
1    15       390

如果基于id的重复,我想要报告Rental on报告的字段。目前我在crystal report中使用了这个公式来检查以前的字段数据并禁止重复。

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

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

4 个答案:

答案 0 :(得分:21)

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

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

如果ID和Rental相同,则只有报告会禁止租借。

我想这对你有用。

答案 1 :(得分:3)

  1. 在Crystal Reports中,右键单击“详细信息”部分,然后选择“部分专家”。

    1. 在“部分专家”对话框中,选择“抑制”命令旁边的“X + 2”按钮。必须保持未选中该复选框才能使此公式生效。
    2. 在“公式编辑器”对话框中,创建一个包含“下一个”函数的条件公式,以评估重复值的记录并禁止显示“详细信息”行
    3. 例如: {Table.Databasefield} =上一页({Table.Databasefield})

答案 2 :(得分:0)

我必须通过添加括号使其与Crystal XI一起使用,对Janarthanan解决方案中的公式稍作修改。

我用过:

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

此编辑问题中显示的格式变体帮助我解决了类似的问题。

答案 3 :(得分:0)

将此隐藏在字段的抑制公式中。

如果{myTable.ID} = previous({myTable.ID})则     真正 其他     假