【问题标题】:Access 2010 Runtime Error 2185Access 2010 运行时错误 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 时遇到了一些奇怪的问题,但反编译将它们整理出来,或者在最坏的情况下,导入新的数据库。

标签: ms-access ms-access-2007 runtime-error ms-access-2010


【解决方案1】:

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

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

【讨论】:

  • 您可以在控件具有焦点时使用文本,并且由于这是控件的更改事件,因此它具有焦点。
  • 我认为如果您以编程方式更改文本/记录,`change 可能会触发它,但我想不会!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
  • 2017-04-06
  • 1970-01-01
相关资源
最近更新 更多