使用记录集从SQL插入访问表

时间:2014-03-03 13:22:57

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

我使用以下代码使用记录集从SQL插入访问表中的数据。该表进一步用于其他操作。虽然这是将数据完美地插入表中,但这个时间非常大。我应该使用任何其他方法将数据插入表中以减少所花费的时间吗?

Do Until rs.EOF
          DoCmd.RunSQL "INSERT INTO Table (Alpha,Beta,Gamma) VALUES(" & _
          rs.Fields(0).Value & ",'" & rs.Fields(1).Value & "'," & rs.Fields(2).Value _
          & " );"
        rs.MoveNext
Loop

3 个答案:

答案 0 :(得分:1)

  1. 创建一个到SQL表的链接表,比如称为MyLinkedTable
  2. 创建追加查询以从链接表附加到本地Access表。它看起来像这样:INSERT INTO MyAccessTable (Field1,Field2...) SELECT Field1,Field2... FROM MyLinkedTable;

答案 1 :(得分:0)

如果你可以在SQL UPDATE语句中选择数据而不是在VBA中循环,那么由于所有工作都将由服务器端完成,所以只需要一小部分时间。

答案 2 :(得分:0)

你只需要进行INSERT INTO SELECT。我们需要有关RecordSet的更多信息,但您可能不需要它。

lambda SELECT语句可能与您用于打开Recordset的语句相同。 祝好运!