3
我有一个ADO记录集变量在用户窗体的类模块中声明。该记录是在窗体的Activate事件开了,我想用代码关闭它在形式的终止事件是这样的:关闭打开的记录集会产生运行时错误
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
产生一个运行时错误:“操作中不允许这个背景。“任何想法为什么发生这种情况
我在想,当您运行Terminate事件时变量是否已经被破坏? –
此外,也许你不需要根据微软的**明确杀死它** - 请参阅[MSDN博客此条目](http://blogs.msdn.com/b/ericlippert/archive/2004/04 /28/when-are-you-required-to-set-objects-to-nothing.aspx) - 当用户表单从内存中卸载时,该变量将超出范围(并且已被破坏) –
作为一般性评论 - 您希望避免终结器/解构器/退出处理器中的任何运行时错误。在这种情况下,我会把错误恢复下一步作为第一行。 – Juliusz