将子报表包含在GROUPING部分中

时间:2014-09-12 18:27:28

标签: crystal-reports parameter-passing subreport

Crystal Reports: including a subreport into a grouping section? 问同样的问题,但我希望对接受的答案的评论是错误的:它不能完成,因为子报告必须在详细信息部分。此外,所选答案所说的不起作用(可能是因为其他细节,没有双关语)。

所以这个看起来像一个重复的问题,但原来的问题似乎没有得到回答,当然也是接受的回答"我无法使用。

(另见How to handle a duplicate question when the original has an accepted answer that is not really acceptable?

我的子报表可以列出一个到多个项目,每个项目都可以加入主报表详细信息中的一个或多个项目。他们加入的公共字段是分组项目。因此,例如,子报表可能有三个项目,细节五个,但如果我把它全部放在细节中,我将有十五行,第一部分重复五次,第二部分重复三次。

公共项目显示为"命令字段","报告字段"。和集团项目。但无论我将哪一个作为子报表参数链接,子报表都没有任何内容,并在我尝试查看报表时要求我输入值。

1 个答案:

答案 0 :(得分:2)

在更新版本的Crystal Reports中,您有两个选项:可以通过子报表参数对话框将子报表连接到主报表上的值。或者您可以在报告之间传递共享变量。如果使用子报表参数对话框,则传入的值将是该组显示时的值。如果值来自该组中的详细信息或来自主报表上的变量,那么它应该很好。如果该值是 之后显示的组,则报告上显示该组(从上到下),则该值将不会被写入,并将作为null或空白传递给报告

共享变量在报表及其所有子报表之间共享。如果需要从子报表获取数据或将单个值传递给多个子报表,则可能是更好的选择。如果在报表或子报表中更改了共享变量,那么它将在之后的所有内容中使用新值。

SAP对这两种技术有很好的指导: http://scn.sap.com/people/ashish.bamzai/blog/2011/11/23/passing-values-between-reports-crystal-reports-2008

请记住,Crystal变量总是根据它们在报表中的位置和打印顺序来填充。如果在打印另一个组或子报表后需要发生某些事情,则需要使用WhilePrintingRecords关键字。< / p>