【问题标题】:Access ADO: operation is not allowed when the object is closed error messageAccess ADO: operation is not allowed when object is closed 错误信息
【发布时间】:2020-09-30 06:54:34
【问题描述】:

我正在使用带有本地表的 Access 2003,该表稍后将被传输并链接到 SQL Server 2008 表。我正在使用以下代码,但收到错误:cnn.Execute 行上的“运行时错误 3704:对象关闭时不允许操作”。

sub test()
On Err GoTo Err_Sub
    Dim cnn As ADODB.Connection
    Dim rs As ADODB.Recordset

    Dim str As String
    Dim strSQL As String

    'Open a connection.
    Set cnn = New ADODB.Connection     
    cnn.ConnectionString = _
        "Provider=Microsoft.Jet.OLEDB.4.0;" & _
        "Data Source=" & CurrentDb.Name & ";" & _
        "Persist Security Info=False"

    strSQL = Me.RecordSource
    str = Mid(strSQL, InStr(strSQL, "Where "))
    strSQL = "Update  myTable SET Active = False " & str

    Set rs = cnn.Execute(strSQL)

    If Not rs Is Nothing Then rs.Close

Exit_Sub:
    Set rs = Nothing
    Exit Sub

Err_Sub:
    MsgBox Err.Description
    Resume Exit_Sub
End Sub

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    也遇到了这个错误(在我的例子中,我使用存储过程来检索一些信息)。我做了一些更改,导致执行出现故障。

    当我将SET NOCOUNT ON 作为存储过程的第一条语句时,错误消失了。

    【讨论】:

    • 我只是想让你知道,在未来的 7 年里,有人会读到这篇文章并觉得它很有帮助,谢谢!
    • 谢谢@Seraphim!
    【解决方案2】:

    尝试CurrentProject.Connection.Execute strSQL 而不是声明您的cnn 对象。

    【讨论】:

    • 它有效,但这样做我不需要 rs 对象。我也没有在此过程中使用 ADO。
    【解决方案3】:

    嗯,这很简单。你需要添加

    cnn.Open
    

    在 cnn.Execute 之前的某个地方 另外,别忘了打电话

    cnn.Close
    Set cnn = nothing
    

    在退出潜艇之前

    【讨论】:

    • 在 cnn.open 上我收到错误消息:“数据库已被机器 'xxxx' 上的用户 'Admin' 置于阻止它被打开或锁定的状态。”
    • @Rick 与 DAO 不同,在将 ADO 与 MS Access DB 一起使用之前,您必须先保存。
    • 帮不上忙。此错误的原因非常广泛。从设计模式下打开的简单表到并发问题。搜索错误消息的第一部分可能是一个起点。
    • @Remou 保存是什么意思?
    • 顺便说一句,你可以使用Set cnn = CurrentProject.Connection
    【解决方案4】:

    我最近也遇到了这个问题。出现我的错误是因为我将 sql 查询中的一列命名为“Pit#”。我相当肯定是 # 导致我发生此错误。我希望这对将来的某人有所帮助。

    谢谢——壳牌

    【讨论】:

      猜你喜欢
      • 2017-10-12
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 2021-10-23
      • 2021-12-01
      • 2018-09-15
      相关资源
      最近更新 更多