合并ms访问表

时间:2009-10-29 16:24:56

标签: sql ms-access

如何合并两个msaccess相同db的两个相同的表?例如:

db1..table1
ID   Name
1    Sanjana
2    Parul
3    Rohan

db2...table1
ID     Name
1      Sarika
2      Deepak

我想将第二个表的值附加到第一个表中,如下所示:

ID        Name
1         Sanjana
2         Parul
3         Rohan
4         Sarika
5         Deepak

5 个答案:

答案 0 :(得分:3)

ID字段的数据类型似乎是自动编号。因此,您可以执行以下操作:

INSERT INTO db1...table1
SELECT Name FROM db2...table1

答案 1 :(得分:1)

您可以使用追加查询:

INSERT INTO Table1 ( FName ) IN 'c:\docs\ltd.mdb'
SELECT A.FName
FROM A;

答案 2 :(得分:1)

好的,这是一种更适合初学者使用gui的方法。

  1. 备份两个数据库并将它们存放在安全的地方。

  2. 从两个数据库的工具菜单中进行压缩和修复

  3. 在db1中创建一个指向db2中表的链接表 要执行此操作,请右键单击数据库窗口的表视图中的一些空白区域,然后选择链接表...按照向导选择db2,然后选择table1。

  4. 使用追加查询将链接table1中的数据附加到db1.table1中 单击Access的查询视图,在设计视图中创建一个新查询,将其类型更改为Append(右键单击表格出现的可用空间,然后转到type-> append)然后在提示输入时选择db1.table1作为表格追加。现在将链接的table1添加到查询中,选择要从中获取数据的字段(在示例中,它只是Name)。请注意,您不希望将id字段放在一边,因为这需要更新以从db1.table1停止的位置开始,假设将其设置为自动编号。

  5. 从db1

  6. 删除链接表

    我不是100%确定排序顺序将在db2.table1中保留,当它附加到db1.table1时,如示例所示。在大多数数据库设计中,这并不重要,但如果是其他人可能会轻松 - 我想如果两个表中的ID字段也是它的主键。

答案 3 :(得分:0)

因为它是访问权限,所以你有两种方法。第一个是LSFR Consulting提到的 第二个是使用导入向导并告诉导入忽略主键列。这会将数据从db2合并到DB1而不会发生主键冲突。

答案 4 :(得分:0)

如果这是一次性操作,简单的复制粘贴将起作用。

在MS Access中打开两个数据库。打开两个表。选择要复制的值(右键单击列标题和Ctrl + C)。

继续目标表。在最后一行(新记录)中选择了“创建名称”字段。为此,鼠标悬停在Name列左边缘(光标变为加号),然后单击以选择单元格。按Ctrl + V。完成。