Перемещение листа Excel для доступа с ошибкой VBA - PullRequest
2 голосов
/ 01 февраля 2012

Здравствуйте. Я пытаюсь переместить лист 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?

Спасибо за вашу помощь.

...