从Linked Table查询插入本地表很慢

时间:2018-06-11 18:46:32

标签: sql-server vba ms-access access-vba

我正试图想出一种在Access Db中固定插入查询的方法。

我在Access数据库中有一个名为QUADReportSource的链接表,它连接到我的C驱动器中名为QUAD_report的电子表格。我试图从QUADReportSource复制名为Outlet和Agent Type的2列,并插入到名为TblTempQuad的本地表中。

QUADReportSource具有重复记录(具有不同代理类型的相同插座号),因此在插入时我确保通过制作TblTempQuad主键的Outlet和Agent Type列,仅将[Outlet,Agent Type]的唯一组合插入到本地表中。

QUADReportSource有332024条记录。插入所有332024需要3分钟,我希望插入TblTempQuad的独特记录应该少花费,但需要5-6分钟。当我在select查询中使用distinct关键字而不是主键时,结果相同。

以下是查询:

db.Execute "insert into TblTempQuad([Outlet],[Agent Type]) select [Outlet],[Agent Type] from QUADReportSource"

1 个答案:

答案 0 :(得分:0)

我认为SQL应该非常快,并且绝对比使用VBA遍历记录更快,但是acc.DoCmd.TransferSpreadsheet呢?这是一个例子。

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "importTable", "C:\test\test.xlsx", ", True

我不知道这与SQL Server有什么关系。