简述
在 Access 中,还有另一个非常有用的向导,那就是Find Unmatched Query Wizard. Find Unmatched Query Wizard 创建一个查询,该查询在一个表中查找在另一个表中没有相关记录的记录或行。
正如我们已经讨论过数据如何在查询中连接在一起,以及大多数查询如何在两个或多个表之间寻找匹配项。
- 这正是 find unmatched 查询所做的。
这种查询还有许多其他可能的用途。
在我们的数据库中,我们可以使用它来查看哪些作者尚未编写项目,或者您可以使用它来查看哪些员工尚未选择任何健康福利。现在让我们打开您的数据库,其中包含Customers和Orders桌子; 转到创建选项卡并单击查询向导按钮。
选择Find Unmatched Query Wizard并点击Ok.
在这种情况下,我们将寻找那些尚未下订单的客户。在第一个屏幕中,它询问哪个表或查询包含查询结果中所需的记录。
我们现在想要一个客户列表tblCustomers. 选择该选项并单击Next.
在以下屏幕中,您需要指定which table or query contains the related records. 换句话说,你用什么表来和第一个比较。为此,我们需要找到那些没有下订单的。我们需要选择包含所有订单信息的表格——tblOrders. 现在,点击Next.
在以下屏幕中,您需要指定两个表中的信息。
- 这通常是某种主键、外键、字段或关系。
- 如果您的数据库中存在现有关系,Access 将为您选择并匹配这些字段。
- 但是,如果您有其他可以连接在一起的字段,包含类似的信息,您也可以在此处选择。
在这里,我们在“tblCustomers”中的字段和“tblOrders”中的字段中默认选择了 CustID。现在,点击Next.
在以下屏幕中,您可以选择要在查询结果中显示的字段。
现在让我们选择所有可用字段并单击双头箭头。这移动了所有available fields到selected fields区域。现在,点击Next.
最后一个屏幕将允许您为查询选择一个名称,然后单击Finish.
在这里,我们将一位客户列为尚未向我们下订单的客户。
您还可以查看该查询是如何创建的。为此,您需要返回Design View.
该向导创建了一个Outer JointblCustomer 和 tblOrders 之间Is Null条件从 tblORders 添加到 CustID。这是为了排除某些记录。在这种情况下,是下订单的客户,或者在 tblOrders 中有相关信息的客户。