在我的 Access 数据库中,我有两个表:
Table1:
PersNum Name Surname
2321 Lenora Springer
2320 Donya Gugino
3326 Leland Wittmer
4588 Elmer Mcdill
Table2:
PersNum Name Surname
2321 Lenora Farney
2320 Donya Willimas
3326 Leland Wittmer
4588 Maya Mcdill
7785 Yolanda Southall
1477 Hailey Pinner
我需要找到一种方法来检查个人号码(字段“PersNum”),然后如果 PersNum 存在,则更新表 1 中的姓名和姓氏。如果 PersNum 不存在,则在 Table1 中插入新行。
预期成绩:
PersNum Name Surname
2321 Lenora Farney (updated surname)
2320 Donya Willimas (updated surname)
3326 Leland Wittmer (without change)
4588 Maya Mcdill (without change)
7785 Yolanda Southall (new person)
1477 Hailey Pinner (new person)
我正在寻找基于 SQL/VBA/DAO/ADO 的任何解决方案。
一种选择是“upsert”或组合的追加/更新查询。
Smart Access 的这个旧技巧是我最喜欢的技巧之一:
通过一次查询更新和追加记录
艾伦·比格斯
您是否知道可以在 Access 中使用更新查询来访问两者
同时更新和添加记录?如果您有,这很有用
表的两个版本,tblOld 和 tblNew,并且您想要集成
从 tblNew 到 tblOld 的变化。
按着这些次序:
创建更新查询并添加两个表。通过将 tblNew 的关键字段拖到 tblOld 的匹配字段上来连接两个表。
双击关系并选择连接选项,其中包括 tblNew 中的所有记录以及仅与 tblNew 匹配的记录
tbl老。
选择 tblOld 中的所有字段并将它们拖到 QBE 网格上。
对于每个字段,在更新到单元格中键入 tblNew.FieldName,其中 FieldName 与 tblOld 的字段名称匹配。
从“视图”菜单中选择“查询属性”并将“唯一记录”更改为“假”。 (这会关闭 SQL 中的 DISTINCTROW 选项
看法。如果您保留此选项,您将在您的文件夹中仅得到一条空白记录
结果,但您希望为每条新记录添加一条空白记录
到表旧。)
-
运行查询,您将看到 tblNew 的更改现在位于 tblOld 中。
这只会将已添加到 tblNew 的记录添加到 tblOld。
tblOld 中不存在于 tblNew 中的记录仍将保留在
tbl老。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)