死的MS访问控件的鬼魂

时间:2017-01-24 18:44:30

标签: ms-access

我在前端Access窗体中有一个非常奇怪的错误,我无法弄清楚。

我有一个包含子表格数据表和几个控件的主表单。当用户尝试使用子表单的内置过滤器时,他们有时会获得

“此对象不包含自动化对象'cboRefinementOrderCode'”

很难排除故障,因为有时你会收到错误消息,有时候会做同样的事情,同样的过滤器,相同的列,没有错误信息。

错误消息'cboRefinementOrderCode'中的对象是一个旧的组合框控件,它曾经在主窗体上 - 很久以前就被删除了。我在VBA中搜索了这个对象而没有引用它。我甚至将整个项目分解为文本文件,并在文本中搜索控件名称并且没有任何内容。我已经反编译/重新编译代码,压缩并修复了数据库,将所有表单导入到一个全新的Access项目中...所有这一切我仍然无法摆脱这条消息。此外,OnFilter没有事件vba。所以,我只是无法理解当用户过滤子窗体时它试图运行的VBA以及为什么它有时只会出错。我非常渴望其他想法。

1 个答案:

答案 0 :(得分:0)

好的,这很奇怪,但我想我找到了一个可接受的解决方法。我的猜测是子窗体是腐败的,但是尝试从头开始重建这个东西会是一件非常大的痛苦,因为它不值得工作(特别是如果它不能最终修复它)。

我将问题隔离到子窗体的On-Current事件,该事件在过滤器完成后立即触发。在我的情况下,如果勾选了表单上的复选框,On-Current事件将在开始时触发exit子命令。我发现错误只发生在勾选此框并在On_Current中跳过代码时。出于某种原因,只有在输入on_current并且什么都不做时它才会抛出此错误。我刚刚添加了一个代码片段来将按钮的标题更改为自己,只是为了给表单提供一些帮助。错误消失了。

相关问题