Private Sub Таблица_ADO ()
' Создание таблицы средствами ADO
'Объявляем объектные переменные Connection и Catalog для связи данных
Dim cnn As New ADODB. Connection
Dim cat As New ADOX. Catalog
'Устанавливаем ссылку на текущую базу данных, используя объект connection ADODB
Set cnn = CurrentProject. Connection
'присваиваем объекту cat наше соединение
cat.ActiveConnection = cnn
'создаем таблицу
Dim Tabl As New Table
Tabl.Name = «Таблица ADO»
'Добавляем несколько полей в семейство Columns
With Tabl
.Columns.Append «Фамилия», adVarWChar
.Columns.Append «Имя», adVarWChar
.Columns.Append «Отчество», adVarWChar
.Columns.Append «Редакция», adVarWChar
End With
On Error GoTo err
'добавлем таблицу в семейство Tables
cat.Tables.Append Tabl
'Обновляем количество объектов семейства Tables
cat.Tables.Refresh
err:
MsgBox «Таблица создана», 0, «результат»
'закрываем соединение
Set cat. ActiveConnection = Nothing
'освобождаем переменную
Set cat = Nothing
End Sub
Результат выполнения программы представлен на рисунке 40.
Удаление таблиц в объектных моделях DAO
Private Sub Удаленеи_DAO ()
'Удаление таблицы средствами DAO
Dim db As Database
'Устанавливаем ссылку на текущую базу данных
Set db = CurrentDb
db.TableDefs.Delete «Таблица DAO»
db.TableDefs.Refresh
'Освобождаем объектную переменную
Set db = Nothing
End Sub
Удаление таблиц в объектных моделях ADO
Private Sub Удаление_ADO ()
'Удаление таблицы средствами ADO
'Объявляем объектные переменные Connection и Catalog для связи данных
Dim cnn As New ADODB. Connection
Dim cat As New ADOX. Catalog
'Устанавливаем ссылку на текущую базу данных, используя объект connection ADODB
Set cnn = CurrentProject. Connection
'присваиваем объекту cat наше соединение
cat.ActiveConnection = cnn
On Error GoTo err
'удаляем временную таблицу
cat.Tables.Delete («Таблица ADO»)
'закрываем соединение
Set cat. ActiveConnection = Nothing
'освобождаем переменную
Set cat = Nothing
GoTo ends
err:
ends:
MsgBox «Таблица удалена», 0, «результат»
End Sub
Создание, изменение и выполнение запросов программными средствами
Создадим с помощью объекта DAO запрос на выборку. Условием отбора является Зарплата >=1 000 000 (рисунок 41).
Private Sub Запрос_Зарплата_больше_100 0000()
Dim db As Database, qd As QueryDef, rs As DAO. Recordset
Dim msg, title As String
Set db = CurrentDb
'создаем новый запрос и сохраняем его в базе данных
Set qd = db. CreateQueryDef («Запрос (VBA)»)
qd.SQL = «SELECT Табельный_номер, Фамилия, FROM [Зарплата] -
WHERE ([Зарплата]. Зарплата])>1 000 000 «
'создаем набор записей на базе нового запроса
Set rs = qd. OpenRecordset (dbOpenDynaset)
Set rs = Nothing
msg = «Новый ЗАПРОС создан»
title = «Внимание»
MsgBox msg,, title
DoCmd.OpenQuery «Запрос (VBA)»
End Sub