如何在水晶报表的DETAIL SECTION中设置MAXIMUM记录数?

时间:2011-03-30 07:30:42

标签: crystal-reports

如何在水晶报表的DETAIL SECTION中设置最大记录数 我正在制作具有预印格式的报告。 这允许打印六行行。 所以在报告中,如果我得到更多,那么六行详细部分那么它应该设置在报告的下一页。 现在说我得到8行详细信息部分然后应该设置第一页六行。剩余的2行应该在第二页上设置&应在第二页详细信息部分自动添加6行空格。

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

但它只适用于我必须为Page设置最大行但是 如果细节部分没有行,它不会添加任何黑色行 但我想添加空白行。

例: 订单描述数量

123项目1 500

124项目2 350




3 个答案:

答案 0 :(得分:1)

这是可能的,但它有点黑客。我很确定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
  • 详情e应为<=5
  • 详情f应为<=6

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

希望这有帮助。

答案 1 :(得分:0)

在详细信息部分的属性

之后在新页面上写下面的公式

如果recordnumber mod 5 = 0则 真正 其他 假的

答案 2 :(得分:0)

巴里上面给出的例子非常有效...我遇到的唯一问题是我在指定的群组之后做了分页。由于Barry的方法依赖于RecordNumber,所以抛出RecordNumber计数,因为他们目前无法在分页符上重置RecordNumber。

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

很多工作要制作Crystal现在应该实现的东西......但是我已经研究了很多并且没有找到一种更简单的方法来处理它。