Crystal Reports:仅显示每组中的第一条记录

时间:2012-04-22 07:09:09

标签: crystal-reports formula

我搜索到了所需的答案,但找不到我想要的东西 - 请帮助我。

请按照我在水晶报告中所做的步骤进行操作:

使用crystal report命令(我创建了一个查询来获取所需的业务编号) - >获得5个商业号码

注意:每个企业都有许多收据编号(第一期收据,第二期收据......等......) - 这些收据详情存储在table_receipts中。

在table_business中 - 我拥有关于商家编号,客户,产品详细信息的所有详细信息......

请理解链接:

table_business - table_customer - table_product - table_receipts

表之间的关系是:

  • table_business.Bno = table_receipts.Bno
  • table_customer.Cno = table_customer.Cno
  • table_product.Pno = table_product.Pno

创建crystal report命令后;我只需在水晶报表中拖动所需的表格(table_business,table_customer,table_product,table_receipts)

现在我为商业号码“BNo”创建了一个小组

我需要使用参数显示有关所选商业号码的所有必要详细信息 - 除收据外即将收到罚款。

我的意思是显示所有收据(所有分期收据)。我只需要显示第一张收据(即:收据编号为字母“F”的星号)

希望您了解我的要求 - 请在这方面帮助我。

期待您的宝贵回复。 问候, 森萨。

4 个答案:

答案 0 :(得分:1)

您应该可以通过创建一个用于抑制字段的论坛(table_receipts.Rno)来完成此操作。

右键单击{table_receipts.Rno}字段,然后选择格式字段...常用选项卡...选中'抑制'框,然后单击右侧的X-2框。当新窗口出现时粘贴:

not({table_receipts.Rno}以“F”开头)

答案 1 :(得分:1)

我可能会为您提供解决方案。

1)打开“报告”菜单,然后选择“科专家”

2)从左侧菜单中选择“详细信息”部分

3)勾选“禁止向下钻取”选项并单击右侧的图标并在公式选项中输入

4)RecordNumber> 1

这应该压制整个ROW / Record而不仅仅是场。我从这个帖子中看到了你的问题,我需要完全相同的解决方案,这很有用。

show only in the first row in crystal reports details section

答案 2 :(得分:1)

以下是我为同一个问题尝试的内容并且有效。这是一个两步过程,涉及在Section Expert中使用Running Total Fields和Suppression。

第一步是创建一个运行总计字段(在参数字段下面) 右键单击它并单击New并命名您的字段,即CountFirstOnly 在左侧,您将看到可以执行功能的字段。

选择收据字段。把它带到现场进行总结并选择计数。

在评估下选择每个记录

重置更改组并选择您的分组,在这种情况下为业务编号,然后单击确定

将该字段拖到报告中。

第2部分:专家科

介绍细节部分专家,然后点击抑制X-2按钮

您的公式应为:CountFirstOnly> 1

单击“确定”

刷新报告

希望这可以解决问题。

答案 3 :(得分:0)

听起来,满足此要求的最简单方法是在报告中添加选择条件 - 例如:

Left({table_receipts.Rno},1) = "F"

这应该确保只报告每个企业第一次收货的相关产品和客户。