根据这个answer,当变量超出范围时,VB将自动释放对象的资源。问题:打开DAO.Recordset时是否可以使用With...End
,因为当Sub
超出范围时应该清理资源,或者我是否还需要明确{{1}并将对象设置为Close
?
例如,
Nothing
答案 0 :(得分:2)
我是否还需要显式
Close
并将对象设置为Nothing
?
在With
块内,您没有引用记录集的对象变量,因此无法设置它= Nothing
。在End With
之后,记录集已经消失,因此您无法在其中设置= Nothing
---但它已经消失,因此毫无意义。
关于它的.Close
方法,我将其称为与包含.Close
方法的任何对象相同的方法。但无论你是否打电话,VBA仍然会在End With
处理记录集。