Здравствуйте. Я пытаюсь переместить лист Excel в базу данных Access, обе из которых имеют одинаковые имена полей. Код написан в Excel.
Пользователь вводит несколько полей формы, и после нажатия кнопки «Готово» обновляется отдельная рабочая таблица. Затем вызывается подпрограмма обновления Access для обновления базы данных содержимым листа. Однако я продолжаю получать следующую ошибку:
Ошибка времени выполнения '-2147417848 (80010108)':
Ошибка автоматизации
Вызванный объект отключился от своих клиентов.
Я погуглил ошибку и не могу понять, что происходит. Вот мой код:
Sub Update_Access_fromExcel()
'экспортирует данные из активной рабочей таблицы в таблицу в базе данных Access
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' Connect to Access database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=D:\Tool_Database\Tool_Database.mdb;"
' open the recordset
Set rs = New ADODB.Recordset
rs.Open "Project_Names", cn, adOpenKeyset, adLockOptimistic, adCmdTable
r = 2
Do Until IsEmpty(Worksheets("NewProj").Cells(r, 1))
With rs
.AddNew
.Fields("Proj_Name") = Worksheets("NewProj").Cells(r, 1).Value
.Update
End With
r = r + 1
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
Кроме того, можно ли просто добавить новую информацию в конец базы данных Access?
Спасибо за вашу помощь.