Единственная причина, по которой явно вызывается Close
, заключается в том, что вы не уверены, что на набор записей ссылаются откуда-то еще в вашем проекте, как правило, в результате неаккуратного кодирования.
Dim rs as ADODB.Recordset
Set rs = ReturnARecordset
...
MyControl.ObscureMethod rs
...
Set rs = Nothing
Предполагается, что последняя строказавершить экземпляр набора записей без явного вызова Close
, если только MyControl
не удерживает дополнительную ссылку и, таким образом, предотвращает нормальный разрыв.Вызов Close
на rs
убедит вас, что MyControl
не может использовать его ссылку для чего-либо полезного, тем временем, сгорая в огне.