我有一个报告,偶尔会在一个组中有多个详细记录。在这种情况下,我只想显示序列中的最后一个。我有一个序列号与每个记录相关联,所以我需要禁止组中具有最大序号的组中的所有明细行。只显示水晶报表中的最后一个序列
我试过使用全局变量来重新计算每个详细记录的最大值,但是我一直无法编写一个公式,即在打印时可以使用此最大序列号来抑制行不包含等于最大序列号的值。
我有一个报告,偶尔会在一个组中有多个详细记录。在这种情况下,我只想显示序列中的最后一个。我有一个序列号与每个记录相关联,所以我需要禁止组中具有最大序号的组中的所有明细行。只显示水晶报表中的最后一个序列
我试过使用全局变量来重新计算每个详细记录的最大值,但是我一直无法编写一个公式,即在打印时可以使用此最大序列号来抑制行不包含等于最大序列号的值。
尝试这样的:
在细节抑制状态Shared Stringvar array concatenate;
concatenate:=concatenate+CStr(Sequencenumber);
现在:
Shared Stringvar array concatenate;
if Maximum(concatenate)=Sequencenumber
Then false
else true
我曾试图类似于从KuKeC之一,但与最大功能,而不是解决方案计数。但是,在审查KuKeC解决方案时,我终于看到,当细节日期与参数日期不匹配时,我已经压制细节带,但最大功能是给出所有数据的最大值,无论是否显示。
所以,我首先需要添加一个公式字段,将返回只有当数据日期相匹配的参数日期
if {PSLRegister.PSLRPPStartDate} = {?PP_Start_Date} then
{PSLRegister.PSLRSeqNo}
else
0
然后我用这个公式场方程中压制详细记录序号
Maximum({@SeqIfDateMatch}, {TrnsltEmployee.TSEmployeeID}) <> {PSLRegister.PSLRSeqNo}
感谢所有
您是否尝试过使用数组 – Siva