【问题标题】:Crystal Reports - Facilitating front/back printingCrystal Reports - 促进正面/背面打印
【发布时间】:2010-07-26 07:26:27
【问题描述】:

我有一份单晶报告,通常有 150 页左右。通过使用巧妙的分组,单个 .rpt 实际上包含了每个客户的单独页眉和页脚部分很少的记录。可以将其视为 100 位客户的销售报告,每个客户都有自己的部分。

每个客户部分的长度为 2 到 7 页。

我们想在页面的正面和背面打印。但是,我担心的是大约一半的客户部分会在前一个客户部分的最后一页的背面开始打印。

编辑:这归结为...如果当前页码是奇数,我需要插入一个额外的分页符。有什么想法吗?

【问题讨论】:

  • 您可以为每个报告运行单独的打印作业吗?
  • 基本上,除非打印作业在 .rpt 文件本身中以某种方式可行,否则我需要一次性打印所有约 80 页正面/背面。如果页码是奇数,我只需要某种逻辑来插入分页符。

标签: sql crystal-reports


【解决方案1】:

如果您要求的只是在页码为奇数时插入分页符的公式,那么将其添加到报表所需部分的“新页之后”或“新页之前”公式中。

PageNumber Mod 2 = 1

抱歉,我无法提供更多帮助,但我无法理解您的问题。


已编辑:

感谢您的澄清 基本上在您的客户分组中(即“小个人页脚部分”),您需要在 New Page After 公式中执行类似的操作

(Next({Customer.CustomerId}) <> {Customer.CustomerId})
AND 
(PageNumber MOD 2 = 1)

注意 Customer.CustomerID 应该在您的记录集中为您的客户引用一个唯一值。我只是编造了一些东西,因为我不知道您的数据字段名称。基本上,上面的论坛将查看下一个唯一客户,如果它与当前客户的值不同,那么您知道一个新的客户部分正在开始。将该逻辑与天气相结合,PageNumber 是否为奇数,您可以判断天气是否需要插入分页符。


已编辑 2

(ISNULL(Next({Customer.CustomerId})) OR Next({Customer.CustomerId}) = "")
AND
(Next({Customer.CustomerId}) <> {Customer.CustomerId})
AND 
(PageNumber MOD 2 = 1)

您可能想检查下一个客户 ID(IE 唯一客户价值)是否为空,这样您就不会在报告的最后看到一个空白页。

【讨论】:

  • 编辑了我的答案...检查一下
  • 抱歉再次编辑了我的答案。我正在阅读它并且不小心使用了 != 而不是 ....抱歉,有时我会混合和匹配来自不同语言的语法。我确定这是一个常见的错误。
猜你喜欢
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多