Ошибка в ADO, Сохранение записи - VB
Формулировка задачи:
Здравствуйте... Вопрос в конце кода...
Решение задачи: «Ошибка в ADO, Сохранение записи»
textual
Листинг программы
Private Sub Заполнить()
Dim rs As ADODB.Recordset
LST.Clear
TXT = ''
On Error GoTo bay
'тут проверяю конект
If Not CON Is Nothing Then
If CON.State = 0 Then Set CON = Соединение()
Else
Set CON = Соединение()
End If
Set rs = New ADODB.Recordset
rs.Open 'select * from тблУслуги', CON, adOpenStatic
' тут я проверку делаю
If rs.EOF And rs.BOF Then
GoTo ex
End If
With rs
Do While .EOF = False
LST.AddItem .Fields('Имя').Value
LST.ItemData(LST.NewIndex) = .Fields('Код').Value
.MoveNext
Loop
End With
'если пусто..перехожу сюда и закрываю RS
ex:
If Not rs Is Nothing Then
If rs.State = 1 Then rs.Close
Set rs = Nothing
End If
Exit Sub
'если ошибка сюда
bay:
MsgBox Err.Description, vbExclamation
' а вот тут и были проблеммы, я щас ооставлю тока Set rs = Nothing
' так как при вышезложенных появлялась та ошибка. А т.к. процедура
' однотипная у меня для всех случаев, за некоторым исклчением. То в
' процедуре на Сохранении (если ошибка с полями) нижний код выдавал
' ошибку критическую с вылетом.(adOpenStatic у меня тока на заполнение списков)
If Not rs Is Nothing Then
If rs.State = 1 Then rs.Close(этот метод сбоил)
Set rs = Nothing
End If
End Sub