繁体   English   中英

如何在Crystal Report的DETAIL SECTION中设置最大记录数?

[英]How to set MAXIMUM number of record in DETAIL SECTION in crystal report?

如何在水晶报表的DETAIL SECTION中设置最大记录数我正在制作具有预打印格式的报表。 允许打印六行。 因此,在报告中,如果我得到的详细信息超过六行,则应在报告的下一页上进行设置。 现在说我在详细信息部分得到8行,然后应设置第一行包含6行,其余2行应设置在第二页上,而6行空白应在第二页详细信息部分中自动添加。

我已经尝试过了:详细部分的节专家和新页添加公式(x-2)recordnumber mod 6 = 0后

但是,只有当我只需要为页面设置“最大行数”,但如果“详细部分”中的行数较少,但我不希望添加任何黑色行,但我想添加空白行时,它才起作用。

例如:订单描述数量

123项1500

124项目2350




这是可以做到的,但是有点麻烦。 我敢肯定,Crystal内置的功能不适合您。

首先,您需要在“详细信息”部分的报表中添加一个新的公式字段,其中包含以下公式:

(RecordNumber Mod 6)

我称这个公式为mod_record

然后,您需要在主要的“详细信息”部分下方添加5个新部分。 在刚添加的每个新部分中添加一行。

在第一个详细信息部分(“详细信息b”)中,转到“ Section Expert ,然后单击“ Suppress (No Drill-Down)旁边的公式按钮。 在公式中,您需要输入以下内容:

If OnLastRecord = true Then
  If {@Mod_Record} <= 1 Then 
      false 
  Else 
      true
Else
  true

除了一个更改之外,每个详细信息部分的公式相同。 您需要为每个部分用以下内容替换<= 1

  • 详细信息c应为<=3
  • 细节d应<=4等于<=4
  • 细节e应该<=5
  • 细节f应<=6等于<=6

这给人的印象是,细节部分是6行的固定宽度。

希望这可以帮助。

在详细信息部分的属性之后在新页面上写以下公式

如果recordnumber mod 5 = 0,则为true,否则为false

上面给出的Barry的Example可以完美地工作...我唯一的问题是我在指定的组之后执行分页符。 由于Barry的方法依赖于RecordNumber,因此将RecordNumber的计数取消了,因为它们目前无法在分页符上重置RecordNumber。

最后,我通过将详细信息部分放在主报表中的子报表中来解决了这个问题……这创建了一个RecordNumber重置,因为RecordNumber随着每个子报表链接的更改而重置。

现在需要大量工作来制定Crystal应该已经实现的东西……但是我对此进行了很多研究,但还没有找到更简单的方法来处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM