Работа с базами данных (некоторые простые фрагменты)

Dim dbs as Database ‘

Dim rstBase as Recordset ‘объявление переменных для объектов базы данных и рекордсета

Set dbs = OpenDatabase(SSource) ‘связываем базу данных с переменной dbs. SSource – путь и имя базы данных в

‘нашем случае задается в конфигурационном файле).

SQLZapr2 = " Select * from base1 order by key_base"

‘готовим запрос для получения информации из связанных таблицы base1

On Error GoTo ErrCause ‘если при выполнении возникла ошибка, перейти по метке ErrCause

Set rstBase = dbs.OpenRecordset(SQLZapr2, dbOpenSnapshot)

‘выполнить запрос SQLZapr2 к базе, связанной с переменной dbs; вернуть

‘результаты запроса в рекордсет rstBase, открытый с параметром dbOpenSnapshot;

‘данный параметр делает открываемый рекордсет статическим, при этом,

‘разрешается перемещение вперед и назад, запрещается изменение даннх в базе и

‘подсчет количества записей без перехода на последнюю запись.

rstBase.MoveLast ‘перейти на последнюю запись рекордсета rstBase

nBase = rstBase.RecordCount ‘подсчет количества записей в рекордсете и присваивание этой величины

‘переменной nBase.

For Each err In Errors ‘вывести номер и описание каждой из обнаруженных ошибок в окно отладки

Debug.Print err.Number, err.Description

Next

Const sql As String = "select max(key_inf) as resX from inf"

‘получение максимального значения ключа key_inf

InsVal = "'" & fio & "', '" & adr & "', '" & tel & "', '" & account & "', '" & dataizm & "'"

SQLIns = " Insert into inf (key_inf, fio, adr, tel, account, dataizm) values (" & ZapNum & ", " & InsVal & ")"

‘подготовка запроса добавления записи в справочник клиентов

dbs.Execute (SQLIns) ‘выполнение запроса добавления записи

UserForm1.TextBox6.Value = rstBase.Fields(OsnFilNam(i)).Value

‘присваивание полю TextBox6 формы UserForm1 значения поля, имя которого

‘хранится в переменной OsnFilNam(i), из текущей записи рекордсета rstBase

‘ (Recordset – виртуальная ‘таблица хранящая набор записей возвращенных SQL

‘запросом)

ValX = "fio='" & fio & "', adr='" & adr & "', account='" & account & "', tel='" & tel & "', dataizm='" & dataizm & "'"

SQLUpd = " Update inf set " & ValX & " where key_inf=" & key_inf

‘подготовка запроса на изменение записи в справочнике клиентов

dbs.Execute (SQLUpd) ‘выполнение запроса на изменение записи


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: