2011-02-08 104 views
0

我使用主动报告3.2版空参数会分次报告失败

我有次报告A. 内部子报告的报告有子报告B.

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

如果子报告A的结果为空,则B在执行一些正则表达式时将失败并抛出空的异常错误。

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

我已经添加了一个默认参数,但仍然失败。 <%'OtherModuleRef'| Enter a module |'00000000-0000-0000-0000-000000000000'| S | False%>

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

我还能试试吗?

回答

0

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

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

Sub ActiveReport_NoData 
    rpt.Sections("Detail1").Visible = False 
    rpt.Fields.Add("OtherModuleRef") 
    rpt.Fields("OtherModuleRef").Value = "00000000-0000-0000-0000-000000000000" 
End Sub