带有导航表单和子报表的 Microsoft Access 2013 上的奇怪行为

Posted

技术标签:

【中文标题】带有导航表单和子报表的 Microsoft Access 2013 上的奇怪行为【英文标题】:Weird behavior on Microsoft Access 2013 with navigation form and subreport 【发布时间】:2017-08-31 03:52:35 【问题描述】:

我有一个名为 formName 的表单,其中包含一个名为 idFilter 的组合控件和一个名为 subReportName 的子报表。 我想要做的是当我更改idFilter中的值时,subReportName中的内容根据idFilter中的值过滤。我通过 formName 上的以下代码实现了这一点:

private sub idFilter_change()
    Me.subReportName.report.filter = "id = """ & me.idFilter.value &""""
    Me.subReportName.report.filteron = true
End sub

当我以独立方式打开 formName 时,这段代码可以正常工作。但是一旦我将formName放入导航表单,就会出现奇怪的行为:每次我更改idFilter中的值时,它都会返回运行时错误2467“您输入的表达式引用了一个已关闭或不存在的对象”代码行:

Me.subReportName.report.filteron = true

还有,idFilter里面的值不是我改的。 我错过了什么?如何解决这个问题?

【问题讨论】:

【参考方案1】:

如果这是一个内置导航表单,那么您的表单引用不正确。

内置导航表单实际上是在点击时加载的选项卡式表单。

尝试制作自己的表单以方便使用,或查看此线程以获取一些示例https://access-programmers.co.uk/forums/showthread.php?t=223306

【讨论】:

以上是关于带有导航表单和子报表的 Microsoft Access 2013 上的奇怪行为的主要内容,如果未能解决你的问题,请参考以下文章

我在 Access 中的导航表单搞砸了我的查询和子表单

将 Tablix 和子报表保持在同一页面上

在 microsoft access 中提示报告参数的最佳方式

带有活动和子片段的导航抽屉

带有内部联接和子查询的 Microsoft Access 更新语句

如何将 Microsoft Access 表单中的单个记录打印到报表中