首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >比较VBA和insert值中的两个表

比较VBA和insert值中的两个表
EN

Stack Overflow用户
提问于 2016-10-20 06:44:55
回答 1查看 903关注 0票数 0

我希望比较来自两个不同数据库的数据,并在原始数据库中插入缺失值。

tableA中,我有姓名、姓氏和地址,在其他表中,我有姓名、姓氏、地址、电话、邮编、标题、唯一代码。我需要将tableA的名称、姓氏和地址与tableB进行比较,如果我找到匹配项,则需要在tableA中添加一个字段,并根据该特定记录存储该字段的值。

为了澄清,如果我试图匹配“约翰”,“史密斯”,“五月二十三日路”从tableAtableB,并找到一个匹配,我需要更新约翰史密斯记录从tableA添加字段标题,电话,Zip和唯一的代码。我试着加入,但没有运气,几乎花了一天不同的组合。

谁有更好的把握加入,请帮助我。

问候..。

EN

回答 1

Stack Overflow用户

发布于 2016-10-20 07:19:03

您可以在不使用任何代码/VBA的情况下这样做。只需构造一个适当的查询即可。

遵循以下步骤:

  1. 创建一个新查询并同时添加两个表
  2. 将希望匹配的字段从tableA拖到tableB中的相应字段
  3. 将查询类型更改为“查询”菜单下的更新查询
  4. 通过从表中向下拖动,将需要从tableB (而不是tableA)更新的字段添加到数据行中
  5. 在“更新到:”行中,键入来自tableA的字段名,其中包含您希望用来更新tableB的数据。你需要包括文件名。例如,在“电话”下键入"tableA.phone“。Access将将其更改为"TableA.phone“。
  6. 通过从菜单中选择QueryAC.26 Run来执行查询。

如果您感兴趣,下面是生成的Access SQL:

代码语言:javascript
代码运行次数:0
运行
复制
UPDATE tableA 
LEFT JOIN tableB ON (tableA.Address = tableB.Address) AND 
(tableA.Surname = tableB.Surname) AND (tableA.Name = tableB.Name) 
SET tableB.Phone = [tableA].[phone], 
tableB.Zip = [tableA].[zip], 
tableB.Title = [tableA].[title], 
tableB.UniqueCode = [tableA].[uniqueCode];

当然,您可以使用VBA解决方案,但这似乎是最简单的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40147233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档