Здравствуйте!
...
Set r = db.OpenRecordset(sqlk)
...
r.Close
Set r = Nothing
End Sub
если не писать r.Close при окончании процедуры close не происходит?
r является локальной
For i = 1 To n
.....
....
Set r = db.OpenRecordset(ARRE(i))
....
....
Next
.....
r.Close
Set r = Nothing
End Sub
For i = 1 To n
.....
....
Set r = db.OpenRecordset(ARRE(i))
....
....
r.Close
Set r = Nothing
Next
.....
End Sub
Set r = Nothing
Нет, это не “проверяю”, это “делаю” . Выше конечно все било сказано правильно. Я тоже обьязателно ставлю .Close и =NothingПроверяю просто: если далее по коду мне объект уже не понадобится то прихлопнем его на всякий случай, чотбы место не занимал; если же еще понадобится, то оставляю на развод. А то надеяться на автоматическое освобождение памяти... Как было правильно сказано выше, лучше всего использовать явно. Тогда вероятность мусора при аварийонм сбое программы понижается.
Так всеже, можно проверить “хватало” или “не хватало”?hohol_kz
Я делал что-то подобное, когда последовательно заполняю уровни дерева. Всегда хватало присвоения Nothing для recordset.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89