4

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

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

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

4

1 回答 1

5

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

于 2013-04-16T15:08:29.890 回答