繁体   English   中英

如何在不更改Crystal Report中的新页面的情况下限制每组的行数

[英]How to limit row number per group without change new page in crystal report

是否有任何方法可以限制每组的行数而不更改Crystal Report 2008中的新页。我这样做的原因是由于客户使用打印机EPSON LQ 300(点矩阵)时,如果对我的布局进行反技术处理,总是会在横向中打印。 因为他们需要记录,所以总是在1页(信纸大小)中打印2组,每组必须显示5条记录。 例:

但是,在CR2008中,如果您从“组”部分专家设置每个组的行,则肯定会更改为新页面,但是我不希望它更改为新页面。 任何想法?

一页(字母大小):

Group Name: Customer-ABC

NO INVOICE AMOUNT

1) INV001 USD100

2) INV002 USD100

3) INV003 USD100

4) INV004 USD100

5) INV005 USD100

Group Name: Customer-ABC

NO INVOICE AMOUNT

6) INV006 USD100

7) INV007 USD100

8) INV008 USD100

9) INV009 USD100

10) INV010 USD100

我不认为有直接的方法可以通过组来完成此操作...但是您可以采用一种变通方法并将其绑定为每组10条/每页5条记录。 为了说明起见,我假设以下内容:

一个报告中可能有多个客户的发票数据。 每页将在两个小节中每页最多显示十条记录。 例如,如果给定客户的发票少于10张,则第一部分将显示5张发票,第二部分将显示4张,而下一个客户的发票数据将从下一页的开头重新开始。

接着就,随即:

您可以通过创建手动运行总计来跟踪每个客户组的记录数来实现此目的。 您将隐藏实际的组标题,在详细信息行中打印组标题名称,然后使用该记录计数以及restder()公式有条件地隐藏或显示详细信息中的组名称,以特定的间隔创建新页面,等等。您还将使用recordnumber-这将为您提供整个报告中记录的实际当前计数,以每个新客户的单独部分显示。

步骤概述:

  • 创建一个公式(我们将其称为recordCount)来跟踪每个客户端组中的行数,并根据组的更改重置计数(这将是手动运行的总数)。
  • 创建两个附加明细行。 在现有发票明细行上方移动一个在下方保留一个。
  • 禁止现有的“客户端GroupName”页眉和页脚。
  • 在两个新的详细信息行(Da和Dc)中,添加GroupName。
  • 在Da中,如果recordCount不等于1,则有条件地抑制该行。
  • 在Dc中,有条件地抑制该行是recordCount的其余部分除以5所得的值,除零外。 例如:remainder(recordnumber,5)<> 0
  • 在Dc中,将记录数除以10等于零,则设置“在此之前为新页”以结束上一页。
  • 在GH1中,设置一个“记录前的新页面”,当记录号 (而非recordCount)不等于1时运行。

结果应该是Da 看起来像一个组标题,并在每组5条记录的顶部显示公司名称。 Dc中的“之前的新页面”将强制在每个客户组中的每第10条记录之后创建一个新页面。 每次客户端更改时,GH1“之前的页面”将强制启动新页面,但这种情况会阻止该页面在报告中的第一组发生。 如果您有单独的报告标题页,则可能根本不关心它。

暂无
暂无

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

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