我有一份报告,由两个码组,我们会打电话给他们ParentChild

在每个页面的顶部,在页面页眉,我想打印母公司名称。

有一批在报告中的列,而当组休息,我想再次显示新的儿童的名字,以及列标题。报告应该是这个样子:

Parent Name
    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6
    XXXX XXXX XXXX XXXX XXXX XXXX
    XXXX XXXX XXXX XXXX XXXX XXXX

    Child Total:             XXXX

    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6
    XXXX XXXX XXXX XXXX XXXX XXXX
再次显示数据之前

如果一个子组绕到了新的一页,不过,我想再次显示子名和列标题。

要实现这一点,我已经创建了一个页标题,它包含下列对象:

Parent Name
    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6

在页标头是包含下式的可变RowReset

WhilePrintingRecords;
Shared numberVar nRowCount := 0

然后,每个细节行,以及组页脚1和组页脚2段中,我有以下RowIncrement式:

WhilePrintingRecords;
Shared numberVar nRowCount := nRowCount + 1;

最后,在各组头2部分,我有以下条件抑制公式:

WhilePrintingRecords;
Shared numberVar nRowCount;
IF (PageNumber <> 1) AND (nRowCount = 0 OR nRowCount = 0.00) THEN
    True
ELSE
    False

这是什么尝试做的是抑制儿童组头,如果我们是一个全新的页面上,并没有详细记录已打印的是,以防止以下情况发生:

Parent Name                          ---+
    Child Name                          +-- Page header
    Col1 Col2 Col3 Col4 Col5 Col6    ---+

    Child Name                       ---+-- Group header 2
    Col1 Col2 Col3 Col4 Col5 Col6    ---+

出于某种原因,我无法弄清楚,约40页到报告中,我得到完全,虽然;一个页标题记录,随后由组标题2的记录。如果我创建包含所述条件抑制公式的公式,它显示TRUE,但组头仍然不抑制

如果我分手的代码,以便它仅检查条件句(或者PageNumber <> 1nRowCount = 0),则组头2禁止正确的一个。

我甚至试图这打破东西:

WhilePrintingRecords;
Shared numberVar nRowCount;
booleanVar bSuppress:= False;

IF PageNumber <> 1 THEN bSuppress:= True;
IF (bSuppress) THEN (IF nRowCount = 0 THEN True ELSE False);

它也显示在画面上显示时True,但不能抑制组头。

这到底我做错了吗?有没有更好的办法,我可以走?

有帮助吗?

解决方案

我建议把在自己组的组头中的“父名称”字段,而不是在页头。然后,在这两个父和子组中,选择“重复组头在每页”复选框在组选项对话框。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top