将两个Access数据库中的表合并为一个新的公用数据库

时间:2011-02-11 13:28:48

标签: ms-access vba merge

所以我有这项任务,我认为有人应该能够帮助我。我有5个 ACCESS 数据库wvrapnaoh.accdb,wvrappaul.accdb ....等。这些数据库每个有大约45个表和15个表。好的部分是结构,所有数据库中每个表的名称和字段都是相同的,除了数据或记录不同。例如,我在wvrapnoah中有一个压力表以及wvrappaul,两个表中的字段相同但数据或记录不同。                    因此,我需要将所有这五个合并到一个新的Access数据库中,该数据库将具有与5个数据库相同的结构,但将包括完整的数据,这些数据是合并到这个新数据库中的5个数据库中的所有记录。这同样适用于15种形式。我猜它似乎没有主键。我打算为每个表添加一个字段,它将为我提供数据库的名称以及合并它的名称。示例我将在Wvrapnoah中的所有表中添加一个DBName字段,并在该字段中为每个表中的所有记录添加名称Noah。我基本上需要自动化此代码。  我的意思是我需要一个脚本(VBA或任何东西),以便创建这些数据库的人可以在下次运行此脚本并合并数据库。如果有人能尽快帮助我,我将不胜感激。它略显紧迫。再次感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

谈论问题的“表格”部分:

问题

  • 是否已定义数据库/表名称或您不知道它们?
  • 您是否可以使用链接表?

我认为合并所有表的简单方法是将所有表链接到单个访问数据库,然后运行UNION ALL查询。它会是这样的:

SELECT "HANK", *
FROM MyTableHank
UNION ALL
SELECT "JOHN", *
FROM MyTableJohn;

注意我定义了一个字段来标识要合并的数据的来源(“HANK”,“JOHN”),如上所述。

关于表单,我相信您需要导入它们然后查看整个代码。它主要取决于表格的作用。如果他们基于查询不会是一个大问题(导入/修复查询,将使表单工作)。但是,如果表单与表格相关,那么您还有更多工作要做。

相关问题