3

是否可以有一个包含两个详细信息部分的 Crystal 报表,每个部分显示从报表链接到的 SP 返回的结果的子集?

例如,在 DetailA 我想要 FieldA 在 (a,b,c) 中的记录,在 DetailB 我想要 FieldA 在 (d,e,f) 中的记录

我知道有可以使用的 Select Expert,但这似乎适用于整个报告,而不是每个单独的详细信息部分

如果我不需要创建公式就好了,因为详细信息部分有大约 20 个字段。是否有某种主公式可以应用于整个细节部分?

4

2 回答 2

5

您只需按照您想要的方式设置您的两个详细信息部分并在每个部分中放置您想要显示的所有记录字段,您就可以非常简单地做到这一点。然后,将抑制公式添加到每个详细信息部分。您可以通过右键单击该部分,选择“Section Expert”,然后单击“Suppress (No Drill-Down)”旁边的公式按钮来访问每个部分的抑制公式

细节 A 部分:not({table.fieldA} in ['a','b','c'])

细节 B 部分:not({table.fieldA} in ['d','e','f'])

现在,您的详细信息 A 部分将仅在记录类型为 a、b 或 c 时显示,而您的详细信息 B 部分仅在记录类型为 d、e 或 f 时显示。

于 2013-09-16T15:40:53.030 回答
2

虽然 Ryan 的方法可行,但最好添加到它并按公式字段分组:

if {table.fieldA} In ['a','b','c'] then
    'Group 1'
else
    'Group 2'#

然后将详细信息 A 和 B 的抑制公式添加为:

{@MyGroup} = 'Group 2'{@MyGroup} = 'Group 1'

这提供了三个好处:

  • 它会自动将这两个部分分类为第 1 组和第 2 组
  • 它只会显示一个或另一个,并且总是显示一个,Ryan 的方法可能会隐藏可能导致问题的意外细节
  • 由于您没有在不同的部分保留不同的列表,因此维护起来要容易得多
于 2013-09-16T15:49:28.717 回答