提问人:Ingo 提问时间:10/30/2023 最后编辑:egleaseIngo 更新时间:10/30/2023 访问量:24
将数组写入 Access 表
Writing arrays to an Access table
问:
在Excel VBA中,我可以轻松地将数组的内容写入与数组内容完全量身定制的范围。这样做,我可以(例如)在一瞬间将 10.000 条记录写入范围。如果我一行一行地这样做,那将需要很长时间。
这正是我在Access VBA中遇到的问题。
如果我想使用 DAO 将 10.000 个数组行写入表。Recordset 对象,需要很长时间。我使用的典型程序是这样的:
Private Sub ArrayToTable()
Dim ArrData As Variant
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim i As Integer
ReDim ArrData(1 To 2, 1 To 2)
'Example array
ArrData(1, 1) = "Paul"
ArrData(1, 2) = 27
ArrData(2, 1) = "Helen"
ArrData(2, 2) = 47
'Open database and create a recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("tblMembers", dbOpenTable)
'Loop throug the array and write back to tblMembers
With rs
For i = 1 To UBound(ArrData, 1)
.AddNew
.Fields(0) = ArrData(i, 1)
.Fields(1) = ArrData(i, 2)
.Update
Next i
End With
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
我乐观地认为有比这更好的方法,因为我可以一次性手动添加很多记录(开始/插入/添加),这也非常快。
所以这是我的问题:有谁知道一种一次性将数组内容插入表的方法?
我很想从您的反馈中学习。
此致敬意 **Ingo**
答: 暂无答案
下一个:难以根据变量设置范围
评论