我有一份报告,其中有两个子报告。主报告的记录来源是根据条件的变化。为此,我在导致报告的按钮的onclick中包含if条件,如果为true,我已使用此代码打开报告 DoCmd.OpenReport“rptPMLOGSHEET”,acViewPreview,LinkCriTeRia,“Query1_filter”
然后在主报告的Open事件中,我包含了以下代码:
If Len(Me.OpenArgs & "") > 0 Then
Me.RecordSource = Me.OpenArgs
End If
这非常有效。现在子报表的记录源也依赖于一个条件......在子报表的打开报告中我直接传递了记录源
如果condition = true Me.recordsource =“查询名称”
这会打开报告,但是一旦我点击箭头转到第二页就会给我一个错误,上面写着'运行时错误2191-您无法在打印预览中设置记录源属性或打印开始后'和调试器导致
Me.recordsource="Query name"
有什么方法可以保留printpreview功能,同时还能让报告运行? 我尝试将代码放在报告加载事件中,但报告没有给出正确的结果。 任何替代方法也是受欢迎的。 感谢帮助
答案 0 :(得分:1)
将代码行移至主报告:
If condition = True Then
Me!YourSubreportControlName.Report.RecordSource = "Query name"
End If