【问题标题】:Crystal Syntax for suppression of section based on count基于计数抑制部分的 Crystal 语法
【发布时间】:2017-01-06 18:44:03
【问题描述】:

我需要下面这个查询的 Crystal Reports 语法。基本上,如果所有记录都不适用,我想取消详细信息部分。感谢您在这方面的帮助。

if (select count(*) from appendix where is_applicable=0) = (select count(*) from appendix)

【问题讨论】:

  • 您可以使用您的查询创建一个 sql 表达式,并在您的公式中随意使用它
  • 是的,is_applicable 是一个是/否字段
  • 附录可以显示多个小节。如果所有这些都不适用,则应抑制整个部分。但是,如果有一项或多项适用,则应全部显示。
  • 啊,好的。这技术上在 Crystal 中是可能的,但如果您坚持使用 @Furtiro 建议的 SQL 表达式,您将节省时间和精力。

标签: sql count crystal-reports suppression


【解决方案1】:

这会很棘手,因为只有在记录已经打印后才能评估汇总和运行总计。所以如果 SQL 表达式是不可能的,我能想到的最简单的方法还是会有点复杂:

  1. 在最深级别为is_applicable 添加一个新组。 (就在详细信息部分旁边。)禁止页眉/页脚并按降序排序。
  2. 在“详细信息”部分中,创建一个共享布尔变量,每次打印到等于 1 的 is_applicable 旁边时,该变量都会翻转为 True。每次第二个最深的组发生更改时,将该变量重置回 False。
  3. 在详细信息抑制部分中,如果共享布尔值为 True 且 is_applicable 等于 0,则编写抑制逻辑。

正确完成,这应该首先打印任何适用的条目,如果没有找到,则不适用的条目不会显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多