04. Открыть таблицы базы данных можно по разному. Эти функции показывают, как можно это сделать из разных библиотек.
'==============================================================
' ADO. Использование таблиц
Private Sub butADO_Click()
Dim rst As ADODB.Recordset
' Включаем обработку ошибок
On Error GoTo 999
' Создание запроса
Set rst = New ADODB.Recordset
' Заполняем запрос
With rst
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Source = "[Пример 04]"
.Open , CurrentProject.Connection, , , adCmdTable
If rst.RecordCount Then
.MoveLast ' Заполнение запроса и расчет кол-ва записей
.MoveFirst ' Начнем с первой записи
Do Until .EOF
' Изменение записей
rst!Описание = "ADO. Пример 04"
rst.Update
rst.MoveNext
Loop
End If
End With
' Отображаем список
Me.myList.RowSource = "ADODB. Изменение сделаны;Всего записей: " Format(rst.RecordCount, "000")
' Конец просмотра
rst.Close
Set rst = Nothing
Exit Sub
999:
MsgBox Err.Description
Err.Clear
End Sub
'==============================================================
' DAO. Использование таблиц
Private Sub butDAO_Click()
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
' Включаем обработку ошибок
On Error GoTo 999
' Создание запроса
Set dbs = CurrentDb ' Текущая база данных
Set rst = dbs.OpenRecordset("Пример 04", dbOpenTable)
' Заполняем запрос
With rst
If .RecordCount Then
.MoveLast ' Заполнение запроса
.MoveFirst ' Начнем с первой записи
Do Until .EOF
' Изменение записей
rst.Edit
rst!Описание = "DAO. Пример 04"
rst.Update
rst.MoveNext
Loop
End If
End With
' Отображаем список
Me.myList.RowSource = "DAO. Изменения сделаны;Всего записей: " Format(rst.RecordCount, "000")
' Конец просмотра
rst.Close
Set rst = Nothing
Set dbs = Nothing
Exit Sub
999:
MsgBox Err.Description
Err.Clear
End Sub