用Access求两表的差集

软件世界

  在工作中我们经常遇到这样一个问题:有两个表格,一个大表,一个小表,其中小表的数据是大表的一部分,要求得到大表中排除小表数据的其余数据。对于这个问题,如果两个表数据少还好办,如果数据多的话,操作经常很麻烦,Excel中也很难处理。今天我给大家介绍用Access来解决这个问题。这里以Access XP为例,Access 2000、2003也可用同样方法。

  一、首先,在Excel中准备好数据,例如有两个表。(我们暂以“小表”、“大表”来命名)

  二、打开Access XP,新建一个数据库文件,在数据库管理窗口左边的对象栏中选择“表”这项,接着在右窗口中可以看到三个图标分别是“使用设计器创建表”、“使用向导创建表”、“通过输入数据来创建表”,我们选择第三项“通过输入数据来创建表”。这时会弹出一个空白表格,我们将小表除第一行标题行外其余行的数据复制到Access中的空白表中。复制后,这个空白表的标题行显示的是“字段1”、“字段2”……我们可以在相应的列标题上点鼠标右键,选择“重命名”项,将标题分别改为“姓名”、“学号”、“性别”。之后点击“保存”按钮,在弹出的对话框中输入这个表的名称,例如我们输入“小表”,点“确定”。用同样的方法创建大表。图1即为创建两个表的结果。

  三、在数据库管理窗口左边的对象栏中点击“查询”这项,在窗口的上部点击“新建”按钮。

  如图2所示,在弹出的对话框中选择“查找不匹配项查询向导”,点“确定”(图3)。接下来在弹出的向导对话框中选择“大表”,点“下一步”再选择“小表”,在接下来的向导对话框中选择两表进行比较的字段,在本例中应选择“大表”的“姓名“字段和“小表”的“姓名”字段,然后点对话框中的“<=>”按钮(图4),再点“下一步”,接着选择结果中显示的字段,我们点其中的“>>”全选按钮,点“下一步”,点“完成”,这时弹出查询后的结果(图5),看看,是不是我们想要的结果。