从Excel记录集填充Access记录集

时间:2020-06-21 17:56:31

标签: vba ms-access ado

我正在创建与Access空表的连接

 Set con = New ADODB.Connection
    con.CursorLocation = adUseClient
    On Error GoTo ooo:
    direct = Range("Root") & Range("MdbTemplate")
    con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & direct & "\DbTargetTemplate.mdb;Jet OLEDB:Database Password="
    On Error GoTo 0
    Set objRecordset = New ADODB.Recordset
    objRecordset.Open strSQL, con, adOpenStatic, adLockOptimistic

然后连接到Excel一个

strSQL = "[DATABASE$]"
                Set con = New ADODB.Connection
                con.CursorLocation = adUseClient
                RawData = "c:\Users\User\OneDrive\Word\Afek\Afek101.xlsm"
                con.Open ("Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & RawData & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;""")
                Set objRecordsetXL = New ADODB.Recordset
                objRecordsetXL.Open strSQL, con, adOpenKeyset, adLockOptimistic

如何使用Excel objRecordsetXL填充访问表?

1 个答案:

答案 0 :(得分:0)

假设您的代码可以打开记录集,请尝试循环objRecordsetXL,将objRecordset设置为AddNew模式,将fields =设置为objRecordsetXL字段,更新objRecordset,然后重复。像这样:

Do While Not objRecordsetXL.EOF
    objRecordset.Addnew
    objRecordset("field1name") = objRecordsetXL("field1name")
    objRecordset("field2name") = objRecordsetXL("field2name")
    objRecordset.Update
    objRecordsetXL.MoveNext
Loop