关闭打开的记录集会产生运行时错误

Exc*_*ers 4 excel vba database-connection

我有一个在用户窗体的类模块中声明的 ADO 记录集变量。记录集在表单的 Activate 事件中打开,我试图在表单的 Terminate 事件中使用如下代码关闭它:

Private Sub UserForm_Terminate()

If VersionIsReleased Then
    ThisWorkbook.Parent.Quit
Else

    If Not m_rs Is Nothing Then

        If m_rs.State = adStateOpen Then
            m_rs.Close
        End If

        Set m_rs = Nothing
    End If

    Close_CN g_cn
    ThisWorkbook.Application.Visible = True
End If

End Sub
Run Code Online (Sandbox Code Playgroud)

该行m_rs.Close产生一个运行时错误:“在此上下文中不允许操作。”。任何想法为什么会发生这种情况?

Dic*_*ika 5

如果在您尝试关闭记录集时正在编辑它,则可能会发生该错误。确保如果你使用AddNew或更改任何Fields().Value您使用Update关闭之前保存的编辑。您可以检查该EditMode属性以查看记录集处于什么状态。