访问 - 仅附加唯一结果

时间:2016-03-17 00:12:50

标签: database ms-access

我有一个可以添加新用户的系统,我想创建一个查询,检查是否存在具有相同Name_ID的重复结果,并且只添加唯一结果。 (更多解释如下)

表1

Name_ID ¦ Name
-------------------
1       ¦ Michael
2       ¦ Rebecca
3       ¦ Sammy

表2

Name_ID ¦ Name
-------------------
1       ¦ Michael
2       ¦ Rebecca

这些是在两个单独的数据库文件中,因为Table2应该是一个存档。 我想要做的是仅使用查询将table1中唯一的Name_ID附加到table2,即仅附加3但忽略Name_ID 1和2。

最后一件事,我不想在这个解决方案中使用SQL,但想知道MS-Access是否有任何可以解决这个问题的内置功能。<​​/ p>

编辑:显然没有SQL没有解决方案,那么如何用SQL实现呢?

2 个答案:

答案 0 :(得分:2)

您应该使用此查询:

INSERT INTO Table2(Name_ID, Name)  
SELECT Name_ID, Name  
FROM Table1 LEFT JOIN Table2 ON Table1.Name_ID = Table2.Name_ID  
WHERE Table2.Name_ID IS NULL

,查询或使用Docmd.RunSQL命令

答案 1 :(得分:1)

用于防止重复的MS Access内置功能是字段上的No Duplicates索引。 主键是一种这样的索引。如果索引字段上存在重复值,这些索引将阻止记录的插入。 请参阅更多here