
任务4 在表中添加现有字段
任务描述
在任务3 中创建了“系别”表,其中包含“系别编号”和“系别名称”两个字段。“系别”表中信息将在“班级”表和“教师”表中引用,这样处理的好处是不必重复输入系别信息,可以避免数据冗余。在本任务中,使用数据表视图在“成绩管理”数据库中创建“班级”表,并将“系别”表中的“系别编号”字段添加到“班级”表中。
实现步骤
(1)在Access 2007中,打开“成绩管理”数据库。
(2)在功能区中选择“创建”命令选项卡,然后在“表”命令组中选择“表”命令。
(3)在“数据表”视图中,双击ID字段列,将字段名更改为“班级编号”;添加一个新字段并命名为“专业名称”;将“班级编号”和“专业名称”字段的数据类型都设置为“文本”。
(4)在“数据表”选项卡上的“字段和列”组中选择“添加现有字段”命令,随即会显示“字段列表”窗格,单击“系别”表名旁边的加号以显示该表中的字段列表,如图2.17所示。

图2.17 显示“字段列表”窗格
(5)将所需的“系别编号”字段,从“字段列表”窗格拖动到数据表视图中打开的表中;当插入行出现时,将该字段放到“班级编号”与“专业名称”字段之间,如图2.18所示。

图2.18 添加现有字段
(6)此时将启动“查阅向导”,“系别编号”字段已出现在“选定字段”列表框中,如图2.19所示;在“可用字段”列表框中单击“系别名称”字段,然后单击按钮,将该字段也添加到“选定字段”列表框中,然后单击“下一步”按钮,如图2.20所示。

图2.19 “系别编号”字段已包含在查阅列中

图2.20 将“系别名称”字段也添加到查阅列中
(7)在如图2.21 所示的“查阅向导”对话框中,可选择字段的排序次序,由于现在不需要排序,可直接单击“下一步”按钮;在如图2.22 所示的“查阅向导”对话框中,选中“隐藏键列”复选框,以便不在列表框中显示“系别编号”字段的值,并通过拖动或双击列的右边 来调整列宽度,然后单击“下一步”按钮。

图2.21 设置列表框中的项的排序次序

图2.22 隐藏主键列并调整列宽度
(8)在如图2.23 所示的“查阅向导”对话框中,将查阅列的标签(也是所添加字段的名称)设置为“系别编号”,然后单击“完成”按钮;在如图2.24 所示的“另存为”对话框中将新创建的表命名为“班级”,然后单击“确定”按钮。

图2.23 设置查阅列标签

图2.24 命名并保存表
(9)完成“查阅向导”后,“系别编号”字段显示在数据表视图中的表中,该字段用下拉列表框控件来显示,其中包含已在“系别”表中添加的系别名称,实际上存储的则是相应的系别编号值,如图2.25所示。

图2.25 添加的字段以下拉列表框方式呈现
(10)在状态栏上单击“设计视图”按钮,以切换到表的设计视图,选择“系别编号”字段,在“字段属性”中将其“标题”设置为“系别”,如图2.26所示。

图2.26 设置查阅字段的标题
(11)选择“系别编号”字段,在“字段属性”中选择“查阅”选项卡,可看到该字段的“显示控件”为“组合框”,“行来源类型”为“表/查询”,“行来源”则是一个SELECT语句,如图2.27 所示;在状态栏上单击“数据表视图”按钮,以切换到“数据表”视图,然后向“班级”表中输入一些数据。在输入数据过程中,“系别”字段值可从列表框中选择,其他字段的值则需要使用键盘来输入,如图2.28所示。

图2.27 “系别编号”字段被设置为查阅列

图2.28 “班级”表中的数据
(12)在“数据库工具”选项卡上的“显示/隐藏”组中选择“关系”命令,可在“关系”窗口中看到“系别”表与“班级”表之间已通过“系别编号”字段关联起来,如图2.29所示。

图2.29 查看“系别”表与“班级”表之间的关系
知识与技能
如果数据库包含多个表,则可以将另一个表中的一个字段添加到当前正在处理的表中。数据库中的一些表相互关联是很常见的。在关系数据库中,可将信息存储在不同的基于主题的表中,然后定义关系,以便根据需要向数据库管理系统提供组合在一起的信息。在Access 2007中,可以通过从另一个相关表(或另一个尚未创建关系的表)中添加字段的方法来创建新字段。可以使用“字段列表”窗格添加该字段,该窗格显示了数据库其他表中的可用字段。
从一个无关联的表中拖动一个字段并完成“查阅向导”时,会在“字段列表”窗格中的表和当前正在处理的表之间自动创建一对多关系。
当添加现有字段时,该字段被设置为查阅列,该列通过组合框控件显示字段值。如果为查阅列选择了多个字段,并且将主键字段隐藏起来,则组合框中显示的值并不是字段中存储的值。例如,在本任务中,将“系别”表中的“系别编号”字段添加到“班级”表中,查阅列的组合框中显示的是“系别名称”字段值,相应字段中实际存储的则是“系别编号”字段值,在这种情况下为“系别编号”字段的标题设置为“系别”更为合适。