【问题标题】:Syntax for Import Into from Different DBs - MS Access从不同数据库导入的语法 - MS Access
【发布时间】:2012-06-06 16:52:32
【问题描述】:

我正在尝试(基本上)从一个后端到另一个后端的自动行复制,因为后端正在使用但尚未完全开发(有些表已完成,有些则没有;将完成的数据添加到更高级的数据库中在一天结束时)。

我想知道 SQL 语句的语法是什么:

INSERT INTO tblMyBetterTable * IN "C:\\path_to_db\db.accdb"
FROM tblMyTable IN "C:\\path_to_in_use_db\in-use-db.accdb"

语法不正确,但我已经搜索了一段时间,但无法找到方法。我已经看到如何从一个表导入到另一个表等,但不是跨后端。如果不清楚,我想基本上将in-use-db.accdb中的所有行从tblMyTable复制到后端db.accdb的表tblMyBetterTable的最新版本。

【问题讨论】:

    标签: sql ms-access import insert multiple-databases


    【解决方案1】:

    我建议你试试DoCmd.TransferDatabase

    对于查询,您需要以下内容:

    SELECT * INTO NewTable 
    FROM [;DATABASE=Z:\Docs\Test.accdb].Table1
    

    或者反过来:

    SELECT * INTO [;DATABASE=Z:\Docs\Test.accdb].NewTable
    FROM Table1
    

    插入现有表:

    INSERT INTO table1 
    SELECT * 
    FROM [;DATABASE=Z:\Docs\Test.accdb].Table1
    

    【讨论】:

    • DoCmd.TransferDatabase 似乎更符合可用作向导的导入功能;因为它是一个数据库而不是一个 excel 文件,所以我不能简单地追加。我会尝试那些选择语句。我还想添加 WHERE 语句以避免重复等,所以这就是我期待查询的原因。
    • 那些语句也做同样的事情;他们删除了我的旧桌子并制作了一张新桌子。我需要一个查询,它只是将 DB1 中的表中的某些字段附加到 DB2 中的表中的字段。当然有办法做到这一点..
    • 总的想法是我给你一个例子,你用它来运行。
    • 我刚刚得到它,实际上。您的编辑是我需要实现的(尽管我使用了 IN() 语法)。
    • 我建议的语法将转换为许多不同的外部数据库,包括 SQL Server、MySQL 和 MS Access (Jet/ACE) 以及 Excel。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多