0

我正在使用活动报告版本 3.2

我有一个带有子报告 A 的报告。在子报告 A 中有子报告 B。

报表将参数X传递给子报表A子报表A传递参数Y子报表B

如果子报表 A 的结果为空,则 B 在执行某些正则表达式时无法抛出空异常错误。

我已经尝试了几种方法来解决这个问题。

我添加了一个默认参数,这仍然失败。<%'OtherModuleRef'|输入模块|'00000000-0000-0000-0000-000000000000'|S|False%>

我已更改 SQL 以检测空值并生成有效查询。这也失败了。

我还能尝试什么?

4

1 回答 1

1

我找不到解决此问题的好方法。我确实发明了一种解决方法。

在第一个子报表中,在无数据事件上添加子报表需要的字段并将其设置为“null”值。如果子报表中有数据,则报表将正常工作,如果子报表中没有数据,则报表将正常工作。

Sub ActiveReport_NoData
    rpt.Sections("Detail1").Visible = False
    rpt.Fields.Add("OtherModuleRef")
    rpt.Fields("OtherModuleRef").Value = "00000000-0000-0000-0000-000000000000"
End Sub
于 2011-02-15T00:59:10.937 回答