在 ms 访问中将记录源分配给子报表
Posted
技术标签:
【中文标题】在 ms 访问中将记录源分配给子报表【英文标题】:assigning recordsource to subreport in ms access 【发布时间】:2016-06-24 10:22:02 【问题描述】:我有一个报表,里面有两个子报表。主报表的记录源是根据条件变化的。为此,我在指向报告的按钮的 onclick 中包含了 if 条件,如果为真,我已使用此代码打开报告 DoCmd.OpenReport "rptPMLOGSHEET", acViewPreview, , LinkCriTeRia, , "Query1_filter"
然后在主报告的 Open 事件中,我包含了以下代码:
If Len(Me.OpenArgs & "") > 0 Then
Me.RecordSource = Me.OpenArgs
End If
这很好用。现在子报表的记录源也取决于一个条件...在子报表的报表打开中,我直接传递了记录源
如果条件=真 Me.recordsource="查询名称"
这可以很好地打开报告,但是一旦我单击箭头转到第二页,就会出现一个错误,提示“运行时错误 2191-您无法在打印预览中或打印开始后设置记录源属性' 和调试器引导
Me.recordsource="Query name"
有什么方法可以保留打印预览功能,同时还可以运行报告? 我尝试将代码放入报告加载事件中,但报告没有给出正确的结果。 也欢迎任何替代方法。 感谢帮助
【问题讨论】:
【参考方案1】:将代码行移至主报表:
If condition = True Then
Me!YourSubreportControlName.Report.RecordSource = "Query name"
End If
【讨论】:
以上是关于在 ms 访问中将记录源分配给子报表的主要内容,如果未能解决你的问题,请参考以下文章