Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой_проект_по_Программным_средствам_ПЭВМ.doc
Скачиваний:
12
Добавлен:
29.02.2016
Размер:
10.41 Mб
Скачать

3.2.1.2 Создание временной таблицы в объектной модели 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

'создаем таблицу

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.

Рисунок 40 - Временная таблица

3.2.1.3 Удаление таблиц в объектных моделях dao

Private Sub Удаленеи_DAO()

'Удаление таблицы средствами DAO

Dim db As Database

'Устанавливаем ссылку на текущую базу данных

Set db = CurrentDb

db.TableDefs.Delete "Таблица DAO"

db.TableDefs.Refresh

'Освобождаем объектную переменную

Set db = Nothing

End Sub

3.2.1.4 Удаление таблиц в объектных моделях 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

3.2.2 Создание, изменение и выполнение запросов программными средствами.

Создадим с помощью объекта DAOзапрос на выборку. Условием отбора является Зарплата >=1000000 (рисунок 41).

Private Sub Запрос_Зарплата_больше_1000000()

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 ([Зарплата].[Зарплата])>1000000 "

'создаем набор записей на базе нового запроса

Set rs = qd.OpenRecordset(dbOpenDynaset)

Set rs = Nothing

msg = "Новый ЗАПРОС создан"

title = "Внимание"

MsgBox msg, , title

DoCmd.OpenQuery "Запрос(VBA)"

End Sub

Рисунок 41 - запрос, созданный программными средствами