If RS.State = 1 Then RS.Close 'Закрываем если открыт
SSecurity писал(а):If Not Rs Is Nothing Then
SSecurity писал(а):Так у тебя он уже закрыт ... RS.State = 0
А еесли открыт RS.State = 1
Private Sub Form_Initialize()
Set RS = New ADODB.Recordset
RS.Open "select * from Art Order by Артикул", db, adOpenDynamic, adLockOptimistic
Set grd.DataSource = RS
RS.Close
db.Close
End Sub
Private Sub Form_Unload(Cancel As Integer)
RS.Close
db.Close
End Sub
RS.Close
db.Close
SSecurity писал(а):После коннекта ты все закрываешь у тебья итак все при инициализации закрыто ...
Если уберешь
- Код: Выделить всё
RS.Close
db.Close
из Form_Initialize() все будет работать:)
lord0n писал(а):согласен так получается 1
но как только он входит в анлоад он становится в любом случае 0
мож вставить закрытие куданить в другое место типа терминейт или vb при входе в анлоад сам закрывает рекордсет?
SSecurity писал(а):lord0n писал(а):согласен так получается 1
но как только он входит в анлоад он становится в любом случае 0
мож вставить закрытие куданить в другое место типа терминейт или vb при входе в анлоад сам закрывает рекордсет?
Потому как в этой и следующей строке ты закрываешь и Рекордсет и Соединение:)
Private Sub Form_Initialize()
Set RS = New ADODB.Recordset
RS.Open "select * from Art Order by Артикул", db, adOpenDynamic, adLockOptimistic
Set grd.DataSource = RS
End Sub
Private Sub Form_Unload(Cancel As Integer)
msgbox RS.State
End Sub
Set RS = Nothing
Set db = Nothing
Сейчас этот форум просматривают: Yandex-бот и гости: 21