2

我已经建立了一个主报告,其中包含 2 个子报告。
主报告包含一个表:ROOM 和两个参数:STARTDATE 和 ENDDATE。日期范围仅在主报告中,因此可以显示在标题区域中。更重要的是,它链接到 2 个子报表。

现在,主要报告按设施分组,然后按房间名称分组。一切都很好,直到我尝试运行它超过一天。我想要的是主报告也按日期分组,但我不知道这是否可能,因为 ROOM 表不包含将参数链接到的日期字段,以便我可以在分组中使用它.

是否可以在子报表中创建一个 Date 变量,然后可以将其传递回主报表以用于分组?如果这是一个愚蠢的问题,我深表歉意,但我不经常使用变量,共享变量甚至比其他任何变量都少。

4

2 回答 2

1

简短的回答:不。您永远不能将主报表与子报表中的变量分组。Crystal 在评估过程的早期确定报告的组,在它查看任何子报告之前。

一般来说,您可能首先要问自己如何避免使用子报表。在我看来,当根本没有其他方法可以在单个报告中完成您想要的事情时,使用子报告是最后的努力。在您的情况下,如果您的主报表仅由一个表 (ROOM) 组成,那么您只需将表从子报表移动到主报表,然后将它们连接到 ROOM。这样做可以让您自由地轻松分组您想要的任何字段。

于 2012-10-25T16:28:19.260 回答
0

从技术上讲,您可以将这些值从子报告获取到主报告。

此简介描述了“共享”范围变量。

共享变量(Crystal 语法)

共享变量使用相同的内存块来存储整个主报表及其所有子报表中的变量值。因此,共享变量甚至比全局变量更通用。要使用共享变量,请在主报表的公式中声明它,如下例所示:

共享 NumberVar x := 1000;

并在子报表的公式中声明它,如下例所示:

共享号码变量 x;

为了使用共享变量,必须先声明变量并为其赋值,然后才能在主报表和子报表之间传递。

共享变量非常适合跨越主报告和一个或多个子报告的聚合(总和等)。

更多信息可以在这里找到:http: //publib.boulder.ibm.com/infocenter/radhelp/v6r0m1/index.jsp ?noscript= 1 通过搜索“可变范围”

于 2012-10-26T05:25:27.360 回答