移动Excel工作表以访问时出现VBA错误

移动Excel工作表以访问时出现VBA错误,excel,ms-access,vba,Excel,Ms Access,Vba,您好,我正在尝试将Excel工作表移动到Access数据库,这两个数据库都有相同的字段名。代码是用Excel编写的 用户输入多个表单字段,单击finish,一个单独的工作表被更新。然后,调用updateaccess子例程以使用工作表的内容更新数据库。但是,我继续收到以下错误: 运行时错误“-2147417848(80010108)”: 自动化误差 调用的对象已与其客户端断开连接 我在谷歌上搜索了错误,看不清到底发生了什么。这是我的密码: Sub Update_Access_fromExcel()

您好,我正在尝试将Excel工作表移动到Access数据库,这两个数据库都有相同的字段名。代码是用Excel编写的

用户输入多个表单字段,单击finish,一个单独的工作表被更新。然后,调用updateaccess子例程以使用工作表的内容更新数据库。但是,我继续收到以下错误:

运行时错误“-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
端接头

还有,有没有办法将新信息添加到Access数据库的末尾


谢谢您的帮助。

如果您是从Access端工作,为什么不链接Excel工作表并使用“查询设计”窗口运行查询?@Remou,您知道我在哪里可以找到有关如何操作的信息吗?听起来这是最简单的方法。@HansUp我对VBA很陌生,我不知道如何调试以找出行#…:(此处:全部由向导驱动。如果Excel文件中的数据组织为一个表,它将链接良好。您甚至可以链接范围,是的,更新将显示在链接表的Access中。但是,如果要将数据复制到本地Access表,则需要运行查询。如果您是从Access端工作,为什么不这样做只是链接Excel工作表并使用“查询设计”窗口运行查询?@Remou,你知道我在哪里可以找到有关如何执行此操作的信息吗?听起来这是最简单的方法。@HansUp我对VBA非常陌生,我不知道如何调试以找出行#……:(此处:全部由向导驱动。如果Excel文件中的数据组织为一个表,它将链接良好。您甚至可以链接范围,是的,更新将显示在链接表的Access中。但是,如果要将数据复制到本地Access表,则需要运行查询。