访问ADO:当对象关闭时不允许操作错误消息

Ric*_*ick 1 ms-access vba

我使用Access 2003与本地表,稍后将传输并链接到SQL Server 2008表.我使用以下代码但得到错误:"运行时错误3704:关闭对象时不允许操作"在cnn.Execute行上.

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
Run Code Online (Sandbox Code Playgroud)

Dig*_*ara 8

也遇到这个错误(在我的情况下,我使用存储过程来检索一些信息).我做了一些改变导致执行失灵.

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

  • 我只是想让你知道,7年后,会有人读到这篇文章并觉得它很有帮助,谢谢! (2认同)