- •Основы программирования с использованием ado, доступ и работа с базами данных Access.
- •I. Два этапа подготовки работы с базами данных:
- •II. Практическая работа с базой данных:
- •Задания по работе с базой данных.
- •Доступ к данным из набора записей: Свойство Fields объекта Recordset.
- •Листинг 4. Извлечение данных из набора записей
- •Поиск записи.
- •Добавление новой записи
- •1. Извлечение значений из поля
- •2. Извлечение записей
Добавление новой записи
метод AddNew объекта Recordset.
Воспользоваться методом AddNew можно двумя способами.
Первый способ - необходимо выполнить три действия.
Вызвать метод AddNew.
Ввести данные в поля новой записи.
Вызвать метод Update, чтобы добавить новую запись в таблицу.
Листинг 8. Добавление новой записи
Sub Добавление_записи()
Dim нз As Recordset
'Создание обьекта Recordset
Set нз = CreateObject("ADODB.Recordset")
'Открытие обьекта
With нз
.Source = "Сотрудники"
.ActiveConnection = "db1"
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
End With
'Ввод данных для новой записи
нз.AddNew
нз("Фамилия") = "………"
нз("Имя") = "………."
нз("Должность") = "…….."
нз("Индекс") = "………"
'Добавление новой записи в таблицу
MsgBox "…….."
нз.Update
'Закрытие набора данных
нз.Close
Set нз = Nothing
MsgBox "Откройте базу и посмотрите новую запись!"
End Sub
Второй способ - с помощью метода AddNew можно объединить первые два шага
Вызвать метод AddNew и Ввести данные в поля новой записи в одном операторе.
Вызвать метод Update, чтобы добавить новую запись в таблицу.
Синтаксис:
Recordset.AddNew FieldList, Values
Recordeet - Объект типа Recordset
FieldList - Название поля или массив названий
Values - Значение или массив значений для полей новой записи
Например: Оператор, в котором создается новая запись и заполняется одно поле.
нз.AddNew "КодКлиента", "AYRSH"
Например: Используется функция Array для заполнения всех полей записи в одном операторе.
нз.AddNew Array("КодКлиента", "Название", "ОбращатьсяК",_
"Должность", "Адрес", "Город", "Область", "Индекс", "Страна",_ "Телефон", "Факс"), _
Array("AYRSH", "Ayrshire Haggis", "Андрей Дубов", "Совладелец", _
"ул. Гоголя,123", "Энск", "Энская", "123456", "Россия", "01290 555555", _
"01290 666666")
Удаление записи.
метод Delete (Удалить) объекта Recordset - помечает текущую запись для удаления.
Затем следует вызвать метод Update, чтобы выполнить удаление.
Листинг 9. Удаление записи
Sub Удаление_записи()
Dim nz As Recordset
Dim строка_критерия As String
'Создание обьекта Recordset
Set нз = CreateObject("ADODB.Recordset")
'Открытие обьекта
With нз
.Source = "Сотрудники"
.ActiveConnection = "db1"
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
End With
' Вызов метода Find
строка_критерия = "Имя='………..'"
нз.Find строка_критерия
' Проверка успешности поиска
' и удаление записи, удовлетворяющей критерию
If Not нз.EOF Then
нз.Delete
нз.Update
MsgBox "Клиент, код которого " & строка_критерия & " был удален. "
Else
MsgBox "Клиент, код которого" & строка_критерия & " не найден!"
End If
' Закрытие набора записей
нз.Close
Set нз = Nothing
MsgBox "Откройте базу и посмотрите удаление записи!"
End Sub
Вставка извлеченных данных в рабочий лист Excel
Три способа извлечения данных из таблицы БД в рабочий лист Excel:
Извлечение значений из поля.
Извлечение нескольких записей.
Извлечение всего набора записей.