Access 2010 运行时错误 2185

Posted

技术标签:

【中文标题】Access 2010 运行时错误 2185【英文标题】:Access 2010 Runtime Error 2185 【发布时间】:2013-03-22 11:15:14 【问题描述】:

您好,我在 Access 2007 中创建了一个应用程序,它的前端和后端是分开的。我正在尝试使用 Access 2010 运行时打开数据库,但是当我更改组合框的选定项时应用程序崩溃。

我收到以下错误:

“由于运行时错误,此应用程序的执行已停止。应用程序无法继续,将被关闭。”

在研究了这个问题之后,有几个人提到运行compact和repair,发现解决了他们的问题,但是对我的没有任何影响。

但是,我发现大多数人回过头来说设置了一些错误日志记录。所以我已经这样做了,当在 2010 运行时运行时,会收到一条弹出消息,内容如下:

错误号:2185,除非控件具有焦点,否则不能引用控件的属性或方法。

但是在 Access 2007 中运行时,没有错误并且代码运行良好。

这是我一直在使用的代码:

Private Sub ComboBox1_Change()
If Not ComboBox1.Text = "" Then
ComboBox1.Dropdown
End If
End Sub

我的问题是,当 Access 2007 中没有错误时,为什么这会突然成为在 2010 运行时运行的问题?

【问题讨论】:

我在将我的测试数据库切换到 2010 时遇到了一些奇怪的问题,但反编译将它们整理出来,或者在最坏的情况下,导入新的数据库。 【参考方案1】:

If Not ComboBox1.Text = "" Then 更改为If Not ComboBox1 = "" Then

无论出于何种原因,Access 不喜欢您在其严格控制之外使用 .Text 属性。

【讨论】:

您可以在控件具有焦点时使用文本,并且由于这是控件的更改事件,因此它具有焦点。 我认为如果您以编程方式更改文本/记录,`change 可能会触发它,但我想不会!

以上是关于Access 2010 运行时错误 2185的主要内容,如果未能解决你的问题,请参考以下文章

Access 2010 级联组合框运行时错误 424

访问 2010 运行时中的访问 2003 应用程序运行时错误

运行时错误“3264”访问 2010 VBA

将 Excel 文件导入 Access 表运行时错误“-2147352565 (8002000b)”

MS Access 2010 运行时 - 连续表单中缺少鼠标右键单击上下文菜单

Access 2007:错误 2950 仅出现在 ACCDE 中