将SQL Server记录复制到Access本地表

时间:2016-12-19 04:29:33

标签: sql-server ms-access

ADO记录集将查询SQL Server数据。目前,我使用循环将服务器数据移动到Access本地表以进行进一步处理。

如何消除Do-Loop?本地表与服务器表具有完全相同的列,而本地表具有比服务器更多的列,这些列不会被循环填充数据。

Dim rsServer As New ADODB.Recordset
Dim rsLocal As New ADODB.Recordset
Dim fField As ADODB.field


str = "SELECT * FROM tableServer WHERE ....."
rsServer.Open str, dbServer, adOpenStatic, adLockReadOnly, adCmdText

str = "SELECT * FROM tableLocal"
rsLocal.Open str, dbLocal, adOpenStatic, adLockOptimistic, adCmdText


Do Until rsServer.EOF
    rsLocal.AddNew

    For Each fField In rsServer.Fields
        rsLocal.Fields(fField.Name).Value = rsServer.Fields(fField.Name).Value
    Next

    rsLocal.Update
    rsServer.MoveNext
Loop

1 个答案:

答案 0 :(得分:1)

如果将SQL Server表连接为远程表,则Access不会区分本地表。因此,您将能够使用远程表中的数据在本地表上运行插入查询。