Docmd.TransferText更新数据(Docmd.TransferText to updat

2019-11-03 18:53发布

我使用Docmd.TransferText从文本文件中的数据导入到我的访问表。

我想它做到以下几点:

  1. 如果记录已经存在,则更新
  2. 如果记录不存在,然后将其添加

我如何做到这一点?

目前,我有这样一行:

DoCmd.TransferText acImportDelim, yesyes, "table3", "C:\requisition_data_dump.txt", True

Answer 1:

你不能用一个导入做到这一点。 你可以使用transfertext的数据作为表链接,然后运行更新并追加查询。

sSQL="UPDATE table3 INNER JOIN MyLinkedTable " _
    & "ON table3.ID=MyLinkedTable.ID " _
    & "SET table3.SomeField=MyLinkedTable.SomeField "
CurrentDB.Execute sSQL, dbFailOnError

sSQL="INSERT INTO table3 (ID,SomeField ) " _
    ="SELECT ID, SomeField FROM MyLinkedTable " _
    & "LEFT JOIN table3 " _
    & "ON table3.ID=MyLinkedTable.ID " _
    & "WHERE table3.ID Is Null "
CurrentDB.Execute sSQL, dbFailOnError


文章来源: Docmd.TransferText to update data