使用 Excel VBA 将数据导入到 MS Access:性能改进
将数据从 Excel 导出到 MS Access 表时,您可能会遇到性能问题处理大量记录时出现问题。但是,有一些方法可以优化该过程。
提供的 VBA 代码循环遍历每一行并将数据插入 Access 表中,这是一个重复的过程,对于大量数据集来说可能非常耗时。为了提高性能,请考虑使用单个 SQL INSERT 语句进行批量插入。
使用 SQL INSERT 优化代码:
Public Sub DoTrans() Set cn = CreateObject("ADODB.Connection") dbPath = Application.ActiveWorkbook.Path & "\FDData.mdb" dbWb = Application.ActiveWorkbook.FullName dbWs = Application.ActiveSheet.Name scn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath dsh = "[" & Application.ActiveSheet.Name & "$]" cn.Open scn ssql = "INSERT INTO fdFolio ([fdName], [fdOne], [fdTwo]) " ssql = ssql & "SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh cn.Execute ssql End Sub
实现:
这种优化的代码消除了循环遍历每一行的需要,显着提高了大型数据集的性能。
以上是如何提高使用 VBA 将大型 Excel 数据集导入 MS Access 的性能?的详细内容。更多信息请关注PHP中文网其他相关文章!