第6章 窗 体
6.1 窗体概述
窗体又称为表单,是Access数据库系统的一种重要的数据库对象。
窗体是人机对话的重要工具,是用户同数据库系统之间的主要操作接口。它的作用通常包括显示和编辑数据、接受用户输入以及控制应用程序流程等。窗体可以为用户提供一个友好、直观的数据库操作界面,通过窗体可以方便、快捷地查看、浏览和操纵数据。
在创建窗体的时候,通常需要指定窗体的数据源,这类窗体称为绑定窗体,并可用于数据的显示、输入和编辑。窗体的数据源可以是表,也可以是查询。此外还可以创建没有数据源的窗体。
从外观上看,窗体的结构和组成成分与一般的Windows窗口基本相同。最上方是标题栏和控制按钮;窗体内是各种组件,如文本框、单选按钮、下拉式列表框以及命令按钮等,最下方是状态栏。
6.1.1 窗体的类型
按照数据在窗体上显示的布局,可以分为以下几种类型:
1.单页窗体
单页窗体也称纵栏式窗体,在窗体中每页只显示表或查询的一条记录,记录中的字段纵向排列于窗体之中,每一栏的左侧显示字段名称,右侧显示相应的字段值。纵栏式窗体通常用于浏览和输入数据。
2.表格式窗体
表格式窗体可以直接编辑数据,一次可以显示多条记录的相关信息,字段以列的形式排列。通过窗体的记录导航按钮查看下一条或者上一条记录。
3.数据表窗体
就像打开了一个表一样,可以对数据进行编辑,也可以调整窗体上的控件。
4.分割窗体
分割窗体由两部分组成,上部分是纵栏式窗体,下部分是数据表窗体。分割窗体同时提供了两种数据视图,这两个视图中的数据来自于同一个数据源。使用分割窗体可以在一个窗体中同时利用两种窗体类型的优势。
5.数据透视表窗体
以行、列和交叉点的形式显示统计分析数据的窗体。显示效果类似于交叉表查询的数据表视图,但是分析和展示的功能更加丰富。
6.数据透视图窗体
将数据以柱形图、饼图等图表的形式表现出来的窗体,它可以清晰地展示数据的变化状态和发展趋势。
7.主/子窗体
主/子窗体主要用来显示具有一对多关系的表中的数据。主窗体显示“一”方数据表的数据,一般采用纵栏式窗体;子窗体显示“多”方数据表的数据,通常采用数据表式或表格式窗体。主窗体和子窗体的数据表之间通过公共字段相关联,当主窗体中的记录指针发生变化时,子窗体中的记录会随之发生变化。
6.1.2 窗体的视图
Access 2010提供了6种视图从不同的角度查看窗体的数据源和显示方式。
1.设计视图
窗体的设计视图用于窗体的创建和修改,用户可以根据需要向窗体中添加对象、设置对象的属性,窗体设计完成后可以保存并运行。
2.窗体视图
窗体视图是窗体运行时的显示方式,根据窗体的功能可以浏览数据库的数据,也可以对数据库中的数据进行添加、修改、删除和统计等操作。
3.布局视图
布局视图是Access 2010新增加的一种视图,是用于修改窗体最直观的视图。在布局视图中,可以调整窗体设计,可以根据实际数据调整对象的宽度和位置,可以向窗体添加新对象,设置对象的属性。布局视图实际上是处在运行状态的窗体,因此用户看到的数据与窗体视图中的显示外观非常相似。
4.数据表视图
数据表视图以表格的形式显示数据,数据表视图与数据表窗口从外观上基本相同,可以对表中的数据进行编辑和修改,比如增加记录,修改字段的值等。
5.数据透视表视图
数据透视表视图主要用于数据的分析和统计。通过指定行字段、列字段和总计字段来形成新的显示数据记录,从而以不同的方法来分析数据。
6.数据透视图视图
数据透视图视图是将数据的分析和汇总结果以图形化的方式直观显示出来,其作用是进行数据的分析和统计。
6.1.3 窗体的结构
在设计视图下窗体包括5个部分,如图6-1所示。
1.窗体页眉
窗体的页眉位于窗体最上方,是由窗体控件组成的,主要用于显示窗体标题、说明窗体的使用、放置窗体中的控制按钮。打印时仅仅出现在首页顶部。
2.窗体页脚
窗体的页脚位于窗体最下方,也是由窗体控件组成的,主要用于窗体的使用说明,以及窗体中控制按钮的摆放。窗体页脚往往只是起到一个窗体的脚注作用,说明窗体的制作时间、设计者等内容。打印时仅仅出现在末页底部。
图6-1 窗体结构图
3.主体
主体位于窗体的中心部分,是工作窗口的核心部分,由多种窗体控件组成。它是数据库系统数据维护的主要工作界面,也是控制数据库应用系统流程的重要窗口。
4.页面页眉
只出现在打印的窗体上,打印时出现在每页顶部,主要用来输出说明信息。
5.页面页脚
只出现在打印的窗体上,打印时出现在每页底部,通常用于显示日期或页码等信息。
6.1.4 窗体的属性
窗体的属性决定了窗体的机构、外观和数据来源。窗体的属性在其属性表中设置,在窗体的设计视图下,单击“工具”组的“属性表”按钮,即可设置窗体的属性。窗体属性表中的“格式”选项卡定义窗体的外观,“数据”选项卡定义窗体的数据来源,“事件”选项卡定义窗体对事件的响应。
定义一个窗体的外观属性,主要考虑:
窗体的高度和宽度;
窗体的背景颜色;
窗体的背景图片;
窗体的边框样式;
是否居中;
窗体的标题;
窗体是否含有最大化、最小化和关闭按钮;
窗体是否有菜单栏;
窗体是否有工具条;
窗体是否有滚动条;
窗体是否有导航按钮。
6.2 窗体的创建
在Access中,提供了自动创建窗体、利用窗体向导创建窗体和使用设计视图创建窗体3种创建窗体的方法。自动创建窗体和利用窗体向导创建窗体都是根据系统的引导完成创建窗体,使用设计视图创建窗体则是根据用户的需要自行设计窗体。
6.2.1 自动创建窗体
1.使用“窗体”按钮创建窗体
这是一种创建窗体的快速方法,其数据源来源于某个表或查询,所创建的窗体为单页窗体。
【例6-1】在教学管理数据库中,使用窗体按钮创建教师信息窗体。
操作步骤如下:
(1)打开“教学管理”数据库,在“导航”窗口选定“教师”表。
(2)在“创建”选项卡中选择“窗体”组,单击“窗体”按钮,系统将自动创建窗体,并以布局视图显示此窗体,如图6-2所示。关闭窗体并保存窗体,窗体设计完成。
图6-2 使用窗体按钮创建窗体
2.创建“多个项目”窗体
“多个项目”窗体是指在窗体中显示多条记录的一种窗体布局形式,记录以数据表的形式显示。
【例6-2】在教学管理数据库中,对于“课程”表使用“多个项目”创建窗体。
操作步骤如下:
(1)打开“教学管理”数据库,在“导航”窗口选定“课程”表。
(2)在“创建”选项卡中选择“窗体”组,单击“其他窗体”按钮,在下拉列表中单击“多个项目”按钮,系统将自动创建并以布局视图显示此窗体,如图6-3所示。关闭窗体并保存窗体,窗体设计完成。
图6-3 创建多个项目窗体
3.创建分割窗体
分割窗体以两种视图方式显示数据,窗体被分隔成上下两个区域。上半区域以单个记录方式显示数据;下半区域以数据表方式显示数据。两种视图连接到同一数据源,并且始终保持同步。可以在任何一部分中对记录进行切换、编辑和修改
【例6-3】在教学管理数据库中,对于“人事档案”表创建分割窗体。
操作步骤如下:
(1)打开“教学管理”数据库,在“导航”窗口选定“人事档案”表。
(2)在“创建”选项卡中选择“窗体”组,单击“其他窗体”按钮,在下拉列表中选择“分割窗体”按钮,系统将自动创建并以布局视图显示此窗体,如图6-4所示。关闭窗体并保存窗体,窗体设计完成。
4.创建数据透视表窗体
数据透视表是一种交互式的表,它可以按设定的方式进行计算,如求和、计数、求平均值等。数据透视表窗体以交互式的表来显示数据,在使用的过程中用户可以根据需要改变版面布局。
【例6-4】在教学管理数据库中创建数据透视表窗体,将各系学生按籍贯分别统计男女学生的人数。
图6-4 创建分割窗体
操作步骤如下:
(1)打开“教学管理”数据库,在“导航”窗口选定“学生”表。
(2)在“创建”选项卡中选择“窗体”组,单击“其他窗体”按钮,并在下拉列表框中单击“数据透视表”按钮,打开“数据透视表”设计窗口,同时显示“数据透视表字段列表”对话框,如图6-5所示。
图6-5 数据透视表字段列表对话框
(3)将“院系编号”字段拖到左上角的筛选字段区域,“籍贯”字段拖到行字段区域,“性别”字段拖到列字段区域,“学号”拖到汇总区域。关闭“字段列表”对话框,单击右键。在弹出的菜单中选择菜单项“自动计算”|“计数”,数据透视表窗体设计完成,显示结果如图6-6所示。
图6-6 数据透视表窗体
5.创建数据透视图窗体
数据透视图是以图形的方式显示数据汇总和统计结果,可以直观地反映数据分析信息,形象表达数据的变化。
【例6-5】在教学管理数据库中创建数据透视图窗体,将各系学生按籍贯分别统计男女学生的人数。
操作步骤如下:
(1)打开“教学管理”数据库,在“导航”窗口选定“学生”表。
(2)在“创建”选项卡中选择“窗体”组,单击“其他窗体”按钮,并在下拉列表框中单击“数据透视图”按钮,打开“数据透视图”设计窗口,同时显示“图表字段列表”对话框,如图6-7所示。
图6-7 图表字段列表对话框
(3)将“院系编号”字段拖到左上角的筛选字段区域,“籍贯”字段拖到分类字段区域,“性别”字段拖到系列字段区域,“学号”拖到数据字段区域。关闭“字段列表”对话框,数据透视图窗体设计完成,显示结果如图6-8所示。
图6-8 数据透视图窗体
6.2.2 使用向导创建窗体
使用向导创建窗体,需在创建过程中选择数据源,进行字段的选择,设置窗体布局等。使用窗体向导可以创建数据浏览和编辑窗体,窗体类型可以是纵栏式、表格式、数据表,其创建的过程基本相同。
【例6-6】使用窗体向导创建显示学生基本信息的窗体。
操作步骤如下:
(1)打开“教学管理”数据库,在“导航”窗口选定“学生”表。
(2)在“创建”选项卡中选择“窗体”组,单击“窗体向导”按钮,显示“窗体向导”对话框,在数据源中选择学生表,并选择前5个字段,如图6-9所示。
图6-9 选择数据源
(3)单击“下一步”按钮,选择“纵栏表”,如图6-10所示。
图6-10 选择窗体布局
(4)单击“下一步”按钮,为窗体指定标题:“学生基本信息”,如图6-11所示。
图6-11 指定窗体标题
(5)单击“完成”按钮,系统将自动打开窗体,如图6-12所示。
图6-12 窗体运行结果
6.2.3 在窗体设计视图中创建窗体
使用窗体向导可以快速创建窗体,但只能创建一些简单窗体,在实际应用中不能满足用户需求,而且某些类型的窗体无法用向导创建。利用窗体设计器,即窗体的设计视图可以进行自定义窗体的创建。窗体的设计视图不仅可以用来新建一个窗体,还可以对已有的窗体进行修改和编辑。
【例6-7】在窗体设计视图中创建学生信息窗体。
操作步骤如下:
(1)打开“教学管理”数据库,在“导航”窗口选定“学生”表。
(2)在“创建”选项卡中选择“窗体”组,单击“窗体设计”按钮,打开窗体设计器。在字段列表中选择学生表,并将前6个字段拖入窗体的主体中,如图6-13所示。
图6-13 窗体设计视图
(3)关闭字段列表,切换到窗体视图,即可查看学生信息。
本例使用字段列表窗口来添加数据源,还有一种方法是使用属性窗口来给窗体添加数据源。在“窗体设计工具”选项卡中的“工具”组中单击“属性表”按钮,或者右击窗体在弹出的快捷菜单中执行“属性”命令,可以打开“属性表”窗口。在“数据”选项卡中选择“记录源”属性,即可像创建查询一样创建新的数据源了,如图6-14所示。
图6-14 为窗体指定数据源
6.3 窗体的基本控件
控件是放置在窗体中的图形对象,主要用于输入数据、显示数据、执行操作等。当打开窗体的设计视图时,系统会自动显示“窗体设计工具”上下文选项卡,控件组位于“窗体设计工具”的“设计”子选项卡中。
Access中的控件与其他Windows应用程序中的控件相同。例如,一个文本框用来输入或显示数据,命令按钮用来执行某个命令或完成某个操作。
控件的属性用来描述控件的特征或状态,例如文本框的高度、宽度和其中要显示的信息都是它的属性,每个属性都有一个属性名。
按照与数据源的关系,控件可分为绑定型控件和非绑定型控件。绑定型控件与数据源的字段列表绑定在一起,当使用绑定控件输入数据时,其绑定的字段会自动更新。大多数允许输入信息的控件都是绑定型的。非绑定型控件与表中的字段无关联,输入数据时不会更新表中字段的值。
向窗体中添加控件的步骤如下。
(1)新建窗体或打开已有的窗体,在工具箱中选择控件。
(2)单击窗体的空白处将会在窗体中创建一个默认尺寸的对象,或者直接拖曳鼠标,然后在鼠标画出的矩形区域内创建一个对象。
(3)设置对象的属性。
6.3.1 标签
标签用于在窗体中、报表或数据访问页中显示说明性的文字,如标题、题注。标签不能显示字段或表达式的值,属于非绑定型控件。
标签有独立标签和关联标签2种。其中,独立标签是与其他标签没有关联的标签,用来添加说明性文字。关联标签是链接到其他控件上的标签,这种标签通常与文本框、组合框和列表框成对出现,文本框等用于显示数据,而标签用来对显示数据进行说明。
默认情况下文本框是带关联标签的,如果不需要可以通过属性窗口进行设置。首先选中文本框控件,然后打开属性表窗口,将“自动”标签属性修改为“否”即可。
标签的主要属性有:
标题;
距离窗体上边界的距离;
距离窗体左边界的距离;
自身高度;
自身宽度;
背景样式;
背景颜色;
特殊效果;
显示文本的字体;
显示文本的字体大小;
显示文本的字体颜色。
6.3.2 文本框
文本框用来显示、输入或编辑窗体中数据源中的数据,或显示计算结果。文本框可以是绑定型也可以是非绑定型。绑定型文本框用来与某个字段相关联,非绑定型文本框用来显示计算结果或接受用户输入的数据。
文本框控件与标签控件最主要的区别在于它们的数据源不同。标签控件显示的是其标题属性中的内容,而文本框控件的数据来源于绑定的表或查询,或者键盘输入的信息。
文本框的主要属性有:
距离窗体上边界的距离;
距离窗体左边界的距离;
自身高度;
自身宽度;
样式;
数据来源;
特殊效果;
显示文本的字体;
显示文本的字体大小;
显示文本的字体颜色。
6.3.3 命令按钮
命令按钮是用于接受用户操作命令、控制程序流程的主要控件之一,用户可以通过它进行特定的操作,如打开/关闭窗体、查询表中信息等。
向窗体中添加命令按钮的方式有两种:使用命令按钮向导和自行创建命令按钮。
Access提供了“命令按钮向导”。用户利用向导创建命令按钮,几乎不用编写任何代码,通过系统引导即可以创建不同类型的命令按钮。命令按按钮分为记录导航、记录操作、窗体操作、报表操作、应用程序和杂项6种类别。
命令按钮的主要属性有:
标题;
距离窗体上边界的距离;
距离窗体左边界的距离;
自身高度;
自身宽度;
单击时执行的事件代码;
双击时执行的事件代码;
标题的字体;
标题的字体大小;
标题的字体颜色;
6.3.4 组合框和列表框
组合框和列表框是窗体设计中非常重要的控件,使用这两个控件可以使用户从一个列表中选取数据,减少键盘输入,这样可以尽量避免数据输入错误所带来数据不一致。
组合框是列表框和一个附加标签组成,它能够将一些数据以列表形式给出,供用户选择。组合框实际上是文本框和列表框的组合,既可以输入数据,也可以在数据列表中进行选择。
列表框和组合框中选项数据来源可以是数据表、查询,也可以是用户提供的一组数据。列表框和组合框的操作基本相同。
列表框和组合框的主要属性有:
距离窗体上边界的距离;
距离窗体左边界的距离;
自身高度;
自身宽度;
列数;
列宽;
行来源;
边框样式;
边框宽度;
显示内容的字体;
显示内容的前景色。
6.3.5 图像
图像控件是非绑定型控件,主要用于显示一个静止的图像文件。图像控件的主要属性有:
距离窗体上边界的距离;
距离窗体左边界的距离;
自身高度;
自身宽度;
缩放模式;
背景样式。
6.3.6 单选、复选框与选项组
复选框、单选框和切换按钮3种控件的功能有许多相似之处,都用来表示两种状态,例如,是/否、开/关或真/假。这三种控件的工作方式基本相同,以被选中或按下表示“是”,其值为-1,反之为“否”,其值为0。选项组控件是一个包含复选框或单选按钮或切换按钮的控件,由一个组框架及一组复选框或单选按钮或切换按钮组成。可以用选项组实现表中字段的输入或修改。
6.4 窗体控件应用
6.4.1 简单应用
【例6-8】在窗体设计视图中使用绑定型文本框、标签、按钮控件显示学生的学号、姓名、性别和出生日期。
操作步骤如下:
(1)打开“教学管理”数据库。
(2)在“创建”选项卡中选择“窗体”组,单击“窗体设计”按钮,打开窗体设计视图。在窗体设计工具中单击“工具”组的“添加现有字段”按钮,弹出字段列表对话框。将所需字段拖入窗体的主体区域,如图6-15所示。
图6-15 学生信息窗体设计视图
(3)保存窗体,命名为“学生基本信息浏览”并切换到窗体视图,即可显示学生的学号、姓名、性别和出生日期信息。
【例6-9】在上例的基础上,使用按钮控件实现记录的浏览。
操作步骤如下:
(1)打开“教学管理”数据库。
(2)打开窗体“学生基本信息浏览”的设计视图。在窗体设计工具中单击“控件”组的“命令按钮”控件,将其拖入到窗体的主体区域,将会弹出命令按钮向导(确保控件向导按钮处于按下状态),如图6-16所示。
图6-16 选择命令按钮类别和操作
(3)选中“转至第一项记录”,单击“下一步”按钮,打开对话框,如图6-17所示。
图6-17 确定按钮风格
(4)选中“图片”单选按钮,选中“移至第一项”选项,单击“下一步”按钮,打开对话框,如图6-18所示。
图6-18 指定按钮名称
(5)将按钮名称命名为“第一条”,单击“完成”按钮。
(6)以此类推,创建“上一条”、“下一条”和“最后一条”按钮,完成后的窗体设计视图如图6-19所示。
图6-19 窗体设计结果
(7)将窗体的“导航按钮”属性设为“否”,保存窗体,切换到窗体视图查看运行效果。
【例6-10】在窗体设计视图中使用非绑定型文本框、标签、按钮控件显示学生的学号、姓名、性别和年龄。
操作步骤如下:
(1)打开“教学管理”数据库。
(2)在“创建”选项卡中选择“窗体”组,单击“窗体设计”按钮,打开窗体设计视图。
(3)在窗体设计工具中单击“控件向导”按钮,使其处于按下状态。单击文本框控件,在窗体的主体内拖动鼠标添加一个文本框,系统打开“文本框向导”对话框,如图6-20所示。
图6-20 设置文本框字体
(4)使用该对话框设置文本的字体、字号和字形等相关属性,单击“下一步”按钮,打开选择输入法模式对话框,如图6-21所示。
图6-21 设置文本框输入法
(5)单击“下一步”按钮,打开输入文本框名称对话框,将其命名为“学号”,如图6-22所示。
图6-22 设置文本框名称
(6)单击“完成”按钮,此时文本框还处于未绑定状态,窗体的设计视图如图6-23所示。
图6-23 文本框设计视图
(7)打开“属性表”对话框,选中窗体对象,将记录源属性设置为学生表,如图6-24所示。
图6-24 窗体属性表对话框
(8)在属性表对话框中选中学号文本框,将控件来源属性设为“学号”字段,如图6-25所示。
图6-25 设置文本框控件来源
(9)以此类推,分别创建姓名、性别和年龄文本框。
注意:将年龄文本框的控件来源属性设置为:=Year (Date( ))-Year([出生日期]),如图6-26所示。
图6-26 计算年龄
(10)将窗体保存为“学生年龄信息”,切换到窗体视图查看运行结果。
【例6-11】创建人事档案信息窗体,使用组合框控件显示职称信息。
操作步骤如下:
(1)打开“教学管理”数据库。
(2)在“创建”选项卡中选择“窗体”组,单击“窗体设计”按钮,打开窗体设计视图。在窗体设计工具中单击“工具”组的“添加现有字段”按钮,弹出“字段列表”对话框。将人事档案表的档案编号、教师编号、最高学历和毕业院系字段拖入窗体的主体区域。
(3)单击组合框控件,在窗体的主体区域内拖动鼠标添加一个组合框,系统自动弹出组合框向导,如图6-27所示。
图6-27 组合框向导
(4)选择“自行键入所需的值”单选按钮,单击“下一步”按钮。在弹出的对话框中选择列数为1,在列表框中输入职称的取值分别为:教授、副教授、讲师、助教,如图6-28所示。
图6-28 确定组合框列数
(5)单击“下一步”按钮,在弹出的对话框中选择“将该数值保存在这个字段中”选项,同时在下拉式列表框中选择“职称”字段,如图6-29所示。
图6-29 选择数据存储位置
(6)为组合框指定标签为“职称”,如图6-30所示。
图6-30 为组合框指定标签
(7)单击“完成”按钮,保存窗体为“人事档案信息”,切换到窗体视图查看运行效果。
【例6-12】修改人事档案信息窗体,使用选项组控件显示婚姻信息。
操作步骤如下:
(1)打开“教学管理”数据库,用设计视图打开“人事档案信息”窗体。
(2)在“控件”组中单击选项组控件,在窗体拖动鼠标添加一个选项组按钮,系统将自动打开“选项组向导”对话框,为每个选项指定标签,即按钮上的显示文本。在表格中分别输入“已婚”和“未婚”,如图6-31所示。
图6-31 指定选项组标签
(3)单击“下一步”按钮,在弹出的对话框中将“未婚”设为默认选项,如图6-32所示。
图6-32 设置默认选项
(4)单击“下一步”按钮,在弹出的对话框中为每个选项指定值。“婚否”字段是逻辑型,取值为-1和0。将已婚和未婚的取值分别设置为-1和0,如图6-33所示。
图6-33 设置选项取值
(5)单击“下一步”按钮,在弹出的对话框中选择“在此字段中保存该值”选项,在下拉列表框中选择“婚否”字段,如图6-34所示。
图6-34 选择数据存储位置
(6)单击“下一步”按钮,在弹出的对话框中选择“单选按钮”和“蚀刻”样式,如图6-35所示。
图6-35 选择类型和样式
(7)单击“下一步”按钮,在弹出的对话框中为选项组指定标题为“婚姻状况”,如图6-36所示。
图6-36 指定选项组标题
(8)单击“完成”按钮,保存窗体,切换到窗体视图查看运行效果。
窗体作为数据库与用户交互式访问的界面,其外观设计除了要为用户提供信息,还应该色彩搭配合理、界面美观大方,使用户赏心悦目,提高工作效率。
【例6-13】设计一个窗体显示教师相关信息。
操作步骤如下:
(1)打开“教学管理”数据库。
(2)在“创建”选项卡中选择“窗体”组,单击“窗体设计”按钮,打开窗体设计视图。在窗体设计工具中单击“工具”组的“添加现有字段”按钮,弹出“字段列表”对话框。将教师表的教师编号、姓名、性别、出生日期、联系电话、电子邮件和家庭住址字段拖入窗体的主体区域,再将人事档案表的最高学历和职称字段拖入窗体的主体区域。调整控件间的间距并对齐控件。
(3)全选标签控件,在右键快捷菜单里面单击“属性”按钮,打开“属性表”对话框。将字体设为“华文行楷”,字号设为12,倾斜字体设为“是”,前景色设为“深红”。
(4)全选文本框控件,在右键快捷菜单里面单击“属性”选项,打开“属性表”对话框。将背景色设为“浅色文本”,特殊效果设为“蚀刻”。
(5)在“属性表”对话框中给窗体设置一张背景图片,将图片缩放模式设为“拉伸”。美化效果如图6-37所示。
图6-37 美化效果图
6.4.2 综合应用
【例6-14】设计一个窗体可以选择学生的姓名,根据选择的姓名打开,另外一个窗体查看学生的详细信息。
分析:根据题意,第二个窗体打开后显示的是第一个窗体所选学生的详细信息。这就需要一个查询,把所选学生的详细信息查出来,作为第二个窗体的数据源。所以需要创建两个窗体对象和一个查询对象。
操作步骤如下:
1)创建选择学生窗体
(1)打开“教学管理”数据库。
(2)在“创建”选项卡中选择“窗体”组,单击“窗体设计”按钮,打开窗体设计视图。新建一个窗体,并添加一个组合框控件,系统会自动打开“组合框向导”对话框,选中“使用组合框获取其他表或查询中的值”选项。如图6-38所示。
图6-38 组合框向导对话框
(3)单击“下一步”按钮,选中学生表,如图6-39所示。
图6-39 选择数据源
(4)单击“下一步”按钮,将“姓名”字段设为选定的字段,如图6-40所示。
图6-40 选择组合框中的字段
(5)单击“下一步”按钮,排序字段可以根据需要自行设定,也可以不设排序字段,如图6-41所示。
图6-41 选择排序字段
(6)单击“下一步”按钮,选中“隐藏键列”选项,如图6-42所示。
图6-42 隐藏键列
(7)单击“下一步”按钮,输入组合框标签标题为:“请选择姓名:”,如图6-43所示。
图6-43 为组合框指定标签
(8)单击“完成”按钮,将组合框的“名称属性”修改为“stname”,再将“绑定列”属性修改为2(默认为1,代表组合框中存放学号信息,修改后存放姓名信息),如图6-44所示。
图6-44 设置绑定列属性
(9)适当调整窗体的大小,并保存为“选择学生姓名”,如图6-45所示。
图6-45 保存窗体
2)创建选择学生查询
(1)在“创建”选项卡中选择“查询”组,单击“查询设计”按钮,打开查询设计视图。新建一个查询,选择学生表,并选择前8个字段,如图6-46所示。
图6-46 选择查询字段
(2)右键单击“姓名”的条件,选择“生成器”选项,在弹出的表达式生成器中输入以下表达式:Forms![选择学生姓名]![stname],如图6-47所示。
图6-47 输入表达式
(3)单击“确定”按钮,完成查询设计,并保存为“学生详细信息”
3)创建显示学生详细信息窗体
(1)在“创建”选项卡中选择“窗体”组,单击“窗体设计”按钮,打开窗体设计视图。新建一个窗体,并将其“记录源”属性设为查询“学生详细信息”,如图6-48所示。
(2)将数据源的全部字段放入窗体,在窗体底部添加一个命令按钮,功能为关闭窗体。适当调整窗体和控件的大小,保存为“显示学生详细信息”,如图6-49所示。
图6-48 为窗体选择记录源
图6-49 学生详细信息设计结果图
最后,在“选择学生姓名”窗体下部添加一个命令按钮,功能为打开“显示学生详细信息”窗体。
运行“选择学生姓名”窗体,选择学生“吴浩楠”,如图6-50所示。
图6-50 选择学生姓名
单击“打开窗体”按钮,则会显示该学生的详细信息,如图6-51所示。
图6-51 显示学生详细信息
6.5 子窗体
一个窗体可以包含另外一个窗体,包含另外一个窗体的窗体称为主窗体,被包含的窗体叫做子窗体。使用主/子窗体通常用于显示相关表或查询中的数据,主/子窗体中的数据源按照关联字段建立连接,当主窗体中的记录指针发生变化时,子窗体的相关记录的指针也将随之改变。
【例6-15】设计一个窗体显示学生基本信息,其中包含子窗体显示其选修成绩信息。
操作步骤如下:
(1)打开“教学管理”数据库。
(2)在“创建”选项卡中选择“窗体”组,在“其他窗体”下拉列表中单击“数据表”按钮,并将该窗体保存为“选修成绩”,如图6-52所示。
图6-52 选修成绩子窗体
(3)在“创建”选项卡中选择“窗体”组,单击“窗体设计”按钮,打开窗体设计视图。在窗体设计工具中单击“工具”组的“添加现有字段”按钮,弹出“字段列表”对话框。将学生表的学号、姓名、性别、出生日期字段拖入窗体的主体区域,如图6-53所示。
图6-53 设计学生窗体
(4)在“控件”组中选择“子窗体/子报表”控件,在窗体下方的空白区域添加该控件,同时打开“子窗体向导”对话框,选择“使用现有的窗体”选项,并在列表框中选择窗体“选修成绩”,如图6-54所示。
图6-54 子窗体向导
(5)单击“下一步”按钮,单击“从列表中选择”按钮,选择“对<SQL语句>中的每个记录用学号显示选修”项,如图6-55所示。
图6-55 选择链接方式
(6)单击“下一步”按钮,系统给出了默认的子窗体的名称为“选修成绩”,如图6-56所示。
图6-56 指定子窗体名称
(7)单击“完成”按钮,将窗体保存为“学生基本信息以及选修成绩”,运行效果如图6-57所示。
图6-57 子窗体运行结果
思考题
(1)窗体有哪些类型?
(2)窗体有哪些视图?各有什么特点?
(3)创建窗体有哪些方法?
(4)什么是控件?控件有什么用途?
(5)窗体有哪些常用的属性?
(6)子窗体有什么用途?
上机题
(1)使用自动创建窗体方法,在窗体中显示课程信息。
(2)使用窗体向导创建窗体,显示学生的选课成绩信息。
(3)使用窗体设计器创建窗体,显示教师的详细信息。
(4)设计一个窗体,可以使用组合框选择职称,然后在另外一个窗体中显示具有该职称的所有教师。
(5)使用子窗体技术,在教师信息窗体中查看其所授课程信息。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。