Ms access 我的语法工作,而不是写完全控制地址。为什么?

Ms access 我的语法工作,而不是写完全控制地址。为什么?,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我对Access中的VBA编程有点陌生,我碰到了一些奇怪的事情。我有一个myListbox系统(多选,其中两个处于测试状态,总共计划5个),可以根据这些列表框中的选定项筛选子表单容器中包含的myReport “打开”过滤器工作得很好(在做了一些研究之后,我将在不同的问题中解决它),但关闭过滤器是个问题。我收到了描述的错误消息 设法找到了解决办法由于我已将myReport绑定到父窗体中的控件,因此我不会关闭过滤器,而是将其更改为类似绑定字段条件,然后将其关闭。 代码: 但如果我尝试这样做: For

我对Access中的VBA编程有点陌生,我碰到了一些奇怪的事情。我有一个
myListbox
系统(多选,其中两个处于测试状态,总共计划5个),可以根据这些列表框中的选定项筛选子表单容器中包含的
myReport

“打开”过滤器工作得很好(在做了一些研究之后,我将在不同的问题中解决它),但关闭过滤器是个问题。我收到了描述的错误消息

设法找到了解决办法由于我已将
myReport
绑定到父窗体中的控件,因此我不会关闭过滤器,而是将其更改为类似绑定字段条件,然后将其关闭。

代码:

但如果我尝试这样做:

Forms![myForm]![myReport].Report.Filter = "((sourceQuery.fieldForBoundControl)=Forms![myForm]![boundControl])"
Forms![myForm]![myReport].Report.FilterOn = False
…或任何其他组合,或只是将其关闭,我会收到错误消息和过程终止。为什么?


我的解决方案是否适用于应用程序的未来工作,或者我是否将自己设置为另一个访问陷阱?

哪些错误消息?其中?在代码中显示的情况下,其运行时错误-2147417848(80010108)函数过滤器在代码的第二行失败。链接问题对其进行了最详细的描述。此代码是在窗体的类模块中,还是在标准模块中?@kismert所有代码都在类模块中,此部分具体在“removeFilter”按钮的“OnClick”事件中。我没有标准模块中的代码。汤姆:请考虑回答:
Forms![myForm]![myReport].Report.Filter = "((sourceQuery.fieldForBoundControl)=Forms![myForm]![boundControl])"
Forms![myForm]![myReport].Report.FilterOn = False