我有一个返回 a 的 VBA 函数,它RecordSet
在RecordSet
子例程中使用。函数本身存在于一个模块中。虽然函数本身返回RecordSet
成功,但我有两个问题:
- 如果我尝试关闭函数中的连接,则会导致应用程序失败
- 如果我在使用后尝试关闭
RecordSet
子程序中的 ,会导致应用程序失败
那么,如何在返回记录集后关闭函数中的连接并在使用后关闭记录集呢?
我的函数建立连接,打开它并执行查询。
不要把它作为一个函数来做。模制成子程序
使用记录集后,必须将其关闭。
当记录集处于活动状态时,它会消耗资源。使用记录集后,您应该释放它正在使用的内存,以便计算机的其他对象可以使用它们。这是通过将 Nothing 分配给 Recordset 对象来完成的。这是一个例子:
'Clean Up
rsTemp.Close 'closing recordset
Set rsTemp= Nothing ' free the memory
您也可以在最后关闭连接。
If con.State = adStateOpen Then
con.Close
End If
If Not con Is Nothing Then Set con = Nothing