使用With ...在使用DAO打开MsAccess中的记录集时结束

时间:2015-11-10 03:13:11

标签: vba ms-access access-vba dao

根据这个answer,当变量超出范围时,VB将自动释放对象的资源。问题:打开DAO.Recordset时是否可以使用With...End,因为当Sub超出范围时应该清理资源,或者我是否还需要明确{{1}并将对象设置为Close

例如,

Nothing

1 个答案:

答案 0 :(得分:2)

  

我是否还需要显式Close并将对象设置为   Nothing

With块内,您没有引用记录集的对象变量,因此无法设置它= Nothing。在End With之后,记录集已经消失,因此您无法在其中设置= Nothing ---但它已经消失,因此毫无意义。

关于它的.Close方法,我将其称为与包含.Close方法的任何对象相同的方法。但无论你是否打电话,VBA仍然会在End With处理记录集。