Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access2007

access 2007比较两个表并查找不含匹配项的记录

时 间:2008-04-07 08:06:24
作 者:Microsoft   ID:11  城市:上海  QQ:3002789054点击这里给麥田发消息
摘 要:比较两个表并查找不含匹配项的记录
正 文:

有时,您可能希望对两个表进行比较,并在其中一个表中标识出另一个表中没有相应记录的记录。标识这些记录最简单的方法就是使用“查找不匹配项查询向导”。在该向导生成查询后,您可以通过修改查询的设计来添加或删除字段或者添加两个表之间的联接(以指示值应当匹配的字段)。您还可以创建自己的查询来查找不匹配的记录,而不使用该向导。

本文介绍如何启动并运行“查找不匹配项查询向导”、如何修改向导的输出以及如何创建您自己的查询来查找不匹配的记录。

本文内容

应在何时搜索不匹配的记录?

在以下两种常见情况中,您可能希望对两个表进行比较并找到不匹配的记录。根据具体情况,查找不匹配的记录也许是您要执行的若干步骤中的第一步。本文只对如何查找不匹配的记录进行介绍。

  • 您使用一个表存储关于某事物(如某种产品)的数据,用另一个表存储与该事物有关的操作(如订单)的数据。  

    例如,在罗斯文 2007 数据库模板中,有关产品的数据存储在“产品”表内,有关每张订单中包括哪些产品的数据存储在“订单细节”表内。由于(设计原因)“产品”表中没有与订单有关的数据,因此仅查看“产品”表无法确定哪些产品从未售出过。而仅查看“订单细节”表也无法确定此信息,因为“订单细节”表中包含仅与已售出产品有关的数据。您必须对这两个表进行比较,才能确定哪些产品从未售出过。

    如果您想查看第一个表中某些事物的列表,而这些事物在第二个表中没有相应的操作,则可以使用“查找不匹配项查询”。

  • 您有两个包含有重叠、冗余或冲突信息的表,您想将它们合并为一个表。  

    例如,假设您有两个表,它们的名称分别为“顾客”和“客户”。这两个表基本上相同,但其中一个表或者两个表都包含有另一个表中没有的一些记录。要合并这两个表,您必须首先确定这两个表中哪些记录是唯一的。

    如果您遇到这种情况,本文中介绍的方法可能会有所帮助,但您可能还需要执行进一步的操作。您可以运行“查找不匹配项查询向导”来识别不匹配的记录,但是如果要检索合并的记录集,您可以使用结果创建联合查询。如果您对编写结构化查询语言 (SQL) 语句得心应手,您甚至有可能愿意放弃“查找不匹配项查询向导”并自己编写联合查询。

    一般情况下,您可以通过查找两个或更多个表中的重复数据来解决有关信息重叠、冗余或冲突的信息问题。

有关联合查询或者有关查找、隐藏或消除重复数据的详细信息,请单击请参阅部分中的链接。

 注释   本文中的示例使用通过罗斯文 2007 数据库模板创建的数据库。

 

显示演示如何设置罗斯文 2007

  1. 单击“Office 按钮”按钮图像,然后单击“新建”
  2. 在左窗格中的“模板类别”下,单击“本地模板”
  3. “本地模板”下,单击“罗斯文 2007”,然后单击“创建”
  4. 按照“罗斯文贸易”页(在“启动屏幕”对象选项卡上)上的说明打开数据库,然后关闭“登录对话框”窗口。

 

 

使用“查找不匹配项查询向导”比较两个表

  1. “创建”选项卡上的“其他”组中,单击“查询向导”
  2. “新建查询”对话框中,双击“查找不匹配项查询向导”
  3. 在该向导的第一页上,选择具有不匹配记录的表,然后单击“下一步”。例如,如果要查看从未售出过的罗斯文 2007 产品的列表,请选择“产品”表。
  4. 在第二页上,选择相关的表,然后单击“下一步”。例如,选择“订单细节”表。
  5. 在第三页上,选择将表相关联的字段,单击“< = >”,然后单击“下一步”。可以在每个表中仅选择一个字段,例如,从“产品”表中选择“ID”,从“订单细节”表中选择“产品 ID”。通过查看“匹配字段”框中的文本验证正确的字段是匹配的。

    请注意,由于模板中内置的现有关系,“ID”和“产品 ID”字段可能已被选中。

  6. 在第四页上,双击您要从第一个表中查看的字段,然后单击“下一步”。例如,选择“ID”和“产品名称”字段。
  7. 在第五页上,您可以选择查看结果或修改您的查询的设计。在本示例中,请单击“查看结果”。接受为该查询建议的名称,然后单击“完成”

    您可能希望修改查询的设计,以便

    Access软件网官方交流QQ群 (群号:54525238)       Access源码网店


常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助