【发布时间】:2015-07-06 15:00:41
【问题描述】:
我在两个不同的文件中有 2 个具有相同列的表。一个文件“Base PT.accdb”,我想从另一个文件“Sanchez_Mar.mdb”插入所有记录集。两个表都有 7 列同名。
我在使用“System.Data.OleDb.OleDbConnection”时遇到了很多问题,所以我决定使用 RecordSets。 目前我正在使用循环插入所有数据,但是数据很多,所以需要很长时间。 是否可以将所有记录集插入到另一个数据库中?
这是我需要帮助的代码部分:
Sub Copiar_BasePT2(RutaPT As String)
Dim Cant as Long
Dim db As Database
Dim dbBase_PT As Database
Set dbBase_PT = OpenDatabase(RutaPT & "\Base PT.accdb")
Set db = CurrentDb
Dim rsSYM As Recordset
Set rsSYM = db.OpenRecordset("SELECT * from FINAL_Alarma_SYM")
rsSYM.MoveLast
Cant = rsSYM.RecordCount
rsSYM.MoveFirst
For i = 1 To Cant
dbBase_PT.Execute ("Insert into Tab_PT values('" & rsSYM.Fields(0) & "','" & rsSYM.Fields(1) & "','" & rsSYM.Fields(2) & "','" & rsSYM.Fields(3) & "','" & rsSYM.Fields(4) & "','" & rsSYM.Fields(5) & "','" & rsSYM.Fields(6) & "');")
rsSYM.MoveNext
DoEvents
Next i
End Sub
是否可以插入所有记录集? 或者我怎样才能更快地将表格从“Sanchez_Mar.mdb”带到“Base PT.accdb”?
【问题讨论】:
标签: database vba ms-access recordset