我的报告结构如下:
空时禁止所有部分。
每个细节部分都有自己的标题(1-a,2-b等等......) 我用一些公式和全局变量来抑制标题,并使用每个标题的抑制公式。
例如:
虽然当每个细节部分都有一些数据时,这种方法很好,但是当详细信息部分b没有任何数据时,我遇到了麻烦。在这种情况下,标题2不会被抑制。包含详细信息c的第一页显示错误的标题2.每个详细信息页面c都会显示正确的标题3.
这是一个公式,它定义并将所有变量设置为false(放在报表头中):
WhilePrintingRecords;
Global BooleanVar Header1;
Global BooleanVar Header2;
Global BooleanVar Header3;
Global BooleanVar Header4;
Global BooleanVar Header5;
Header1:= False;
Header2:= False;
Header3:= False;
Header4:= False;
Header5:= False;
这是设置第一个标题的公式,它放在详细信息部分a中(其他公式类似):
WhilePrintingRecords;
Global BooleanVar Header1;
Global BooleanVar Header2;
Global BooleanVar Header3;
Global BooleanVar Header4;
Global BooleanVar Header5;
Header1:= True;
Header2:= False;
Header3:= False;
Header4:= False;
Header5:= False;
最后是标题1的压制公式:
WhilePrintingRecords;
Global BooleanVar Header1;
not Header1;
我为每个细节部分都有一个公式。他们将正确的标头变量设置为true,将其他变量设置为false。
同样,当所有细节部分都有一些数据时,这样可以正常工作。 我尝试在一些公式上添加OnLastRecord,但这根本不起作用。我似乎错过了一些东西。我该怎么办?
更新
在评论中的问题之后,我想添加一些内容以便更好地理解:
我的所有详细信息部分都包含每个子报表,而不包含任何其他内容。主报告本身没有数据,只有一些布局功能。如果为空,则会抑制所有子报表,如果为空,则还会抑制详细信息部分。 在评论中的问题后,我尝试了一些事情: 我添加了一个共享变量" HasSomeData"。该变量在子报表中设置(我可以在那些中使用count(),因为子报表具有实际数据字段)。这很好用。仍然无效的是抑制报告标题。我在suppress公式中返回新的共享变量,但它没有任何效果,标题现在随处可见。我还在谷歌上搜索,但如果有人告诉我我失踪了什么,我会非常高兴。