【问题标题】:Importing Table From Another Database Creating New Table Rather Than Append Data Into Existing Table从另一个数据库导入表创建新表而不是将数据附加到现有表中
【发布时间】:2020-07-11 14:43:42
【问题描述】:

我正在尝试将数据库表中的所有数据导入本地数据库中的现有表。但它创建新表而不是将数据复制到表中。我正在使用以下简单代码进行测试。那么,如何导入数据而不是创建新表呢?请注意:

tables 的数据结构相同。
表有一个Primary Key 字段。

Private Sub cmdRestore_Click()
    DoCmd.TransferDatabase acImport, "Microsoft Access", "C:\Users\Harun.Rashid\Documents\DestinationDB.accdb", acTable, "tblEmpData", "tblEmpData"
End Sub

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    据我所知,这就是 TransferDatabase 应该工作的方式。它不是一个重复的过程。备选方案:

    1. 设置链接并将链接表用作后续 SELECT 查询的源 - 甚至不需要填充本地表,但如果您坚持使用链接作为 APPEND 或 UPDATE 操作的源

    2. 在 INSERT SELECT 操作中使用直接引用其他数据库文件路径的 Execute 方法,例如:
      CurrentDb.Execute "INSERT INTO tblEmpData SELECT * FROM tblEmpData IN 'C:\Users\Harun.Rashid\Documents\DestinationDB.accdb'"

    【讨论】:

    • 我会检查并反馈给你。
    【解决方案2】:

    链接备份表,然后运行追加查询,使用链接表作为源,本地表作为目标。

    【讨论】:

    • 是的。我可以做到这一点,但我试图通过单击将其自动化。
    • 当然。您的“单击”应调用链接表的函数,执行附加查询,然后删除链接表。
    • 没有。 Access 是单线程的,因此当您的函数运行时,您应该显示沙漏来告诉用户,Access 正在处理导入。
    • 如何使用hourglass?我对hourglass不熟悉。
    • 我做了一些谷歌搜索和阅读文章。清除Hourglass。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2010-10-25
    • 2022-06-16
    • 2015-03-31
    相关资源
    最近更新 更多