Crystal Reports 11 - 如何在多个页面上打印不同的数据

时间:2010-12-02 15:54:50

标签: printing crystal-reports

我有一个运输标签,需要在Dymo Label打印机上打印,每页3页的数据略有不同。这可以只用一个.rpt来完成,这样用户只需打印一份报告,而不是三份?

http://imgur.com/5UUl4

3 个答案:

答案 0 :(得分:2)

我使用Crystal Reports已经有一段时间了,但您可以设置.RPT有三个详细信息部分(A / B / C),并且B和C“之前打印新页面”。这样每个细节都将分为三个部分。

您不应该对自定义公式做任何疯狂的事情。您需要做的就是每次显示每个数据三次,每页一个,每个页面略有不同。

(当然你可以使用一个标题,只是将更改的数据放在详细信息部分......但这需要更多的时间才能完成,然后只需在每个数据部分重复所需的数据。)

<强>确认

  1. 打开报告
  2. 右键单击“详细信息”部分
  3. 选择“在下面插入部分”
  4. 重复步骤2&amp; 3次
  5. 确认您看到三个明细部分
  6. 对A和A部分使用“Section Expert”(或Visual Studio Properties)。 B并选择“New Page After”。 (如果使用Section Expert,请确保您在分页选项卡上。)
  7. 在每个详细信息部分中创建所需内容。
  8. 您可能希望抑制所有其他部分,包括报告/页面标题&amp;页脚。
  9. .RPT详细信息部分设置

    Report Setup

    专家科

    Section Expert

答案 1 :(得分:0)

您有两种基本方法 您可以使用组并使用该选项在组发生更改时为该组启动新页面。另一种选择是使用子报告,但我会避免使用此选项。如果您要我详细说明,请告诉我。

答案 2 :(得分:0)

如果你可以让你的数据重复三次,那么报告的每个“记录”都是重复的,你可以用多个细节部分做一些事情(来自专家创建三个细节部分)

然后使用带有公式的'Supress(No Drill-Down)'依次显示标签的每个版本,具体取决于记录编号。 alt text

对于每个细节部分,添加公式(使用基本语法)

  1. formula = (Remainder(RecordNumber,3) <> 1)
  2. formula = (Remainder(RecordNumber,3) <> 2)
  3. formula = (Remainder(RecordNumber,3) <> 0)
  4. 然后在每个细节部分创建每个略有不同的标签。

    我设法通过像这样(在SQL Server中)进行交叉连接来获取三个数据行,假设一个表包含名为ReportData的数据

    ;with cte as 
    (
    select 1 as ver
    union
    select 2 as ver
    union
    select 3 as ver
    ) 
    select * from 
    cte cross join ReportData
    order by OrderNumber, ver;