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