试一试!
有时,你需要创建一个查询来提取没有直接(一对一或一对多)关系的数据源中的信息。
在查询中使用中间表连接数据源
运行查询时,Access 将使用已创建的表间关系,并推导和创建其他数据源之间的连接。 如果查询所需的关系不存在,请将表连接为查询的一部分。
假设你希望查看已收到的不同供应商产品的订单数量。 “供应商”表未连接到“采购订单明细”表(包含产品 ID 和数量信息)。 但是,“采购订单”表连接到了“采购订单明细”表。
提示: 如果你需要在所创建的查询之外使用此关系,最好创建一个中间关系以供稍后使用。 若要了解如何操作,请参阅创建多对多关系。
如果不想在数据库中创建中间表,请将“采购订单”表作为查询中的中间表。 将“供应商”表添加到“采购订单”表的左侧,并创建连接。
“采购订单”表连接两个不同的表,即“供应商”表和“采购订单明细”表。 使用满足下列条件的字段(如“供应商”表中的“ID”和“采购订单”表中的“供应商 ID”)连接表:
-
两个字段具有匹配或兼容的数据类型。 例如,不能将文本字段连接到数字字段。
-
这些字段标识每个表中唯一的匹配记录。 例如,姓氏并非总是唯一,所以请勿连接两个“姓氏”字段。
-
这些字段可确保记录结果正确。 例如,如果将“供应商 ID”连接到“采购 ID”,则可能获得一些匹配项(当两个 ID 相同时)。 但结果没有意义,因为供应商 ID 与采购 ID 无关。 更好的选择是将“供应商”表中“ID”连接到“采购订单”表中的”供应商 ID”,这将返回有意义的记录,因为这两个字段都标识供应商。
步骤
无论你在数据库中保存了中间表,还是仅打算在查询中使用中间表,都请按照以下步骤进行操作:
-
将中间表添加到查询中未连接的两个表中间。
-
使用中间表中创建任何需要的连接。
连接可以使用任何适当的联接类型,但必须通过满足本模块中前述条件的字段进行连接。
-
完成查询。
按照创建查询的常规步骤进行操作:添加输出字段、添加任意条件,然后运行或保存查询。 若要了解如何操作,请参阅创建基本查询。
注意: 无需将中间表包含在结果中。 只需将其作为查询的数据源的一部分,以便 Access 连接数据。