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) ‘выполнение запроса на изменение записи