当 Access 中的两个表具有一个或多个共同字段时,可以将一个表中的数据表嵌入另一个表中。 嵌入数据表(称为子数据表)在表或查询中查看和编辑相关数据或联接数据时非常有用。
本文内容
子数据表简介
如果要在单个数据表视图中查看来自多个数据源的信息,则子数据表非常有用。 例如,在 Northwind 示例数据库中,Orders 表与 Order Details 表具有一对多关系。
如果将“订单详细信息”表添加为 Orders 表中的子数据表,则可以通过打开该订单的子数据表来查看和编辑数据,例如特定订单中包含的产品 (每一行) 。
如果将子数据表添加到表中,请将这些子数据表的使用限制为查看而不是编辑重要的业务数据。 如果要编辑表中的数据,建议使用窗体来编辑数据,而不是子数据表,因为如果用户不小心滚动到正确的单元格,数据输入错误更有可能在数据表视图中发生。 另请注意,向大型表添加子数据表可能会对表的性能产生不利影响。
Microsoft Access 会在创建符合以下条件之一的表时自动创建子数据表:
- 表处于一对一关系中。
- 表是一对多关系的“一”端,其中表的 SubdatasheetName 属性设置为“自动”。
通过匹配相关表中的主键和外键字段来定义关系。
还可以将子数据表添加到数据库中的任何表、查询或窗体。 在数据表视图中,窗体一次只能显示一个子数据表。
打开和关闭子数据表
若要确定表、查询或窗体是否已具有子数据表,请在数据表视图中打开 对象。 如果存在展开指示器 (+ 符号) ,则表、查询或窗体具有子数据表。 打开子数据表时,指示器将更改为 - 符号。 子数据表可以嵌套在主子数据表中,最多八个级别。
- 若要打开子数据表,请单击要查看其记录的值旁边的加号。
- 若要关闭子数据表,请单击减号。
提示
若要同时展开或折叠数据表中的所有子数据表,请在“ 开始 ”选项卡上的“ 记录 ”组中,单击“ 更多”。 然后选择“ 子数据表”,然后单击所需的选项。
还可以删除或隐藏子数据表。 有关如何删除子数据表的信息,请参阅 删除子数据表一文。
提示
若要隐藏子数据表,请在“设计视图”中打开该表,然后在“ 设计 ”选项卡上的“ 显示/隐藏 ”组中,单击“ 属性表”。 在属性“工作表”窗口中找到 “子数据表名称” 行,将其更改为 [None],然后保存更改。
添加子数据表
在数据表视图中,打开要在其中添加子数据表的表或查询。
在“ 开始 ”选项卡上的“ 记录 ”组中,单击“ 更多”,指向 “子数据表”,然后单击“ 子数据表”。
在“ 插入子数据表 ”对话框中,选择与要作为子数据表插入的对象类型相对应 (表、 查询或 两者) 选项卡。
在“ 链接子字段” 框中,单击要用作为子数据表提供数据的外键或匹配字段的字段。
在“ 链接主域” 框中,单击要用作主表或查询的主键或匹配字段的字段,然后单击“ 确定”。
例如,如果要创建子数据表来查看“客户”表中每个客户记录的相关订单,请选择“订单”表,在“ 链接子字段” 框中,选择“ 客户 ID”,然后在“ 链接主字段” 框中,选择“ ID”。
注意
“链接子字段”和“链接主字段”框中的值在指定字段上创建一对多联接。
单击“确定”保存所做的更改。
若要显示添加到表、查询或窗体的子数据表,请单击 “+” 符号。
注意
子 (外键) 字段不显示为子数据表的列。 在子数据表中添加新记录时,Access 会自动插入所选基表的主键值。