使用VBA将数据从excel复制到访问?

问题描述 投票:-1回答:1

我试图用新代码更新Access数据库,以添加到一个扫描条目的聚合列表。宏需要打开访问文件,从excel复制范围并将其粘贴到数据库的底部以添加到已存在的记录中。然后保存访问.accdb文件,然后关闭。有关复制和粘贴数据部分的任何提示吗?

excel vba excel-vba ms-access import
1个回答
0
投票

使用ACE.OLEDB。创建SQL INSERT语句。代码如下所示:

    Sub Test()
        accessFilePath = "C:\someDB.accdb"
        Call ExecuteSQLCmd("INSERT INTO `" & accessFilePath & "`.`Table` (col1,col2,col3) SELECT col1,col2,col3 FROM [Sheet1$]", accessFilePath)
     End Sub

   Sub ExecuteSQLCmd(cmd As String, accessFilePath as String )

        Dim cnn As ADODB.Connection
        Dim sql As String

        Set cnn = New ADODB.Connection
        cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & accessFilePath & ";Persist Security Info=False;"

        If Not (cnn Is Nothing) Then
            'Execute Sql
            cnn.Execute (cmd)
            'Close
            cnn.Close
        End If
        Set cnn = Nothing
    End Sub
© www.soinside.com 2019 - 2024. All rights reserved.