第5章窗体与控件5.1窗体概述•窗体是Access数据库中应用最为广泛的数据库对象。在Access中,窗体为用户提供了查看和操作数据的界面,提供了直观而灵活地浏览、输入和修改数据得途径。窗体有多种形式,可以完成不同的功能。5.1.1窗体的概念•窗体是用户与Access应用程序之间进行数据交换的界面,从某种意义上讲,窗体是Access数据库对象中最为重要的一个。通过窗体用户可以操作表或查询中的数据,进而对数据进行管理和维护。•1.窗体的构成•完整的窗体共有5个部分组成,每个部分称为一个“节”。这5个节从上至下分别是窗体页眉、页面页眉、主体、页面页脚和窗体页脚,如图5-1所示。•2.窗体的功能•1)显示和编辑数据•2)输入数据•3)显示提示信息和打印数据•4)控制应用程序•3.窗体的视图•为了更好的查看窗体的数据,可以以不同的视图方式打开窗体,Access提供了5种视图方式,分别是窗体视图、设计视图、数据表视图、数据透视表视图和数据透视图视图。•1)窗体视图•视图界面如图5-2所示,在此视图中能同时查看、输入和修改数据,可显示文字、图片、按钮等。•2)设计视图•视图界面如图5-3所示,在此视图中可以创建和编辑修改窗体中需要显示的元素,调整窗体的布局,如显示的文本、样式、控件、图片等,同时在设计视图中还可以绑定数据源。•3)数据表视图•视图界面如图5-4所示,以表格形式显示表、查询、窗体等,在此视图中同样能查看、输入和修改数据。•4)数据透视表视图•视图界面如图5-5所示,通过指定视图的行字段、列字段和汇总字段来形成新的数据记录,易于进行交互式数据分析。•5)数据透视图视图•视图界面如图5-6所示,以更直观的图形方式来显示数据,便于用户创建动态的交互式图表。5.1.2窗体的分类•窗体有多种分类方式,按结构可将窗体分为纵栏式窗体、表格式窗体、数据表式窗体、主/子窗体、图表窗体和数据透视表窗体。按功能分类可将窗体分为数据录入窗体、控制切换面板窗体和交互信息窗体。•1.纵栏式窗体•纵栏式窗体又称全屏幕窗体,是Access默认的窗体格式,也是最基本的窗体格式。在纵栏式窗体中每次只显示一条记录,且文字纵向排列。•纵栏式窗体通常用于输入数据,适用于记录中包含多个字段的情况。•2.表格式窗体•表格式窗体以表格的形式显示数据记录,能同时显示多条记录。记录纵向排列,字段横向排列,字段名称在窗体顶部显示,成为窗体页眉。•表格式窗体适用于字段较少而记录较多的情况。•3.数据表式窗体•数据表式窗体在视图上与数据表类似,如图5-4所示,但数据表式窗体视图中,不仅可以调整字段列的宽度和记录行的高度,而且可以动态地编辑记录中的内容。•数据表式窗体通常用作子窗体出现在其他窗体中。•4.主/子窗体•子窗体就是窗体中的窗体,主窗体就是包含子窗体的窗体,如图5-8所示下部“学生成绩”即为“学生档案2”主窗体中的子窗体。••主/子窗体通常用于显示多个表或查询中的数据,在主窗体中显示了一条记录,在子窗体中以数据表的形式显示于主窗体记录相关的其他数据记录。•5.图表窗体•图表窗体以图表的形式显示数据记录,使数据显示更加直观,便于数据的分析比较。Access提供了多种图表供用户选择,如折线图、柱形图、饼图等,如图5-9所示为柱形图。•6.数据透视表窗体•数据透视表窗体是一种交互式表,如图5-5所示即为数据透视表窗体。在数据透视表窗体中可改变表格内数据,也可动态改变透视表的布局。5.2窗体的创建•窗体的创建有多种方式,可以利用向导创建窗体也可以在设计视图中创建窗体。其中利用向导创建窗体是最为简单的方法,在设计视图中创建窗体是最为自由的方法,自动创建窗体是最为快捷的方法。5.2.1利用向导创建窗体•1.利用窗体向导创建单个窗体•利用窗体向导可以创建“纵栏表”、“表格”、“数据表”、“两端对齐”、“数据透视表”和“数据透视图”格式的窗体。•(1)启动Access2003应用程序,打开要创建窗体的“学生管理”数据库。•(2)在数据库窗口的“对象”栏中单击“窗体”选项,然后单击数据库工具栏上的“新建”按钮。•(3)弹出“新建窗体”对话框,在右侧列表中显示了多个选项。选择“窗体向导”选项,此时对话框左侧显示提示信息“该向导根据所选字段自动为您创建窗体”,然后在“请选择该对象数据的来源表或查询”下拉列表框中选择数据源表“学生档案”。设置完成后单击“确定”按钮。•(4)弹出确定窗体使用字段的“窗体向导”对话框,此时“表/查询”下拉列表中显示了上一步设置的数据源表“学生档案”数据表,在“可用字段”列表框中显示了“学生档案”数据表中所有字段,根据需要选中字段,然后单击向右按钮,将所选字段添加到“选定的字段”列表框中。重复上述操作,依次将需要的字段添加到“选定的字段”列表框中,如图5-11所示,然后单击“下一步”按钮。•(5)弹出确定窗体使用布局的“窗体向导”对话框,如图5-12所示,其中有“纵栏表”、“表格”、“数据表”、“两端对齐”、“数据透视表”和“数据透视图”格式供选择,此处选中“纵栏表”单选按钮,然后单击“下一步”按钮。•(6)弹出指定窗体样式的“窗体向导”对话框,如图5-13所示,在右侧列表框中显示了多种样式,单击选中后可在左侧看到其完成后效果图,这里我们选择“沙岩”选项,然后单击“下一步”按钮。•(7)弹出指定窗体标题的“窗体向导”对话框,如图5-14所示,在“请为窗体指定标题”列表框中输入创建窗体的名称“学生档案”,在“请确定是要打开窗体还是要修改窗体设计”栏中选中“打开窗体查看或输入信息”单选按钮,然后单击“完成”按钮。•此时窗体已创建成功,创建的窗体如图5-15所示,并且创建的窗体在数据库窗口显示。•2.利用窗体向导创建主/子窗体•(1)同创建单个表的窗体一样,打开选择查询向导的“新建查询”对话框。•(2)在图5-11的“表/查询”下拉列表中选择“学生成绩”数据表,然后添加字段“课程编号”、“成绩”、“平时成绩”,单击“下一步”按钮。•(3)弹出确定查看数据方式的窗体向导选中“通过学生档案”选项,然后再选中下方的“带有子窗体的窗体”单选按钮,如图5-17所示,然后单击“下一步”按钮。•(4)弹出确定子窗体使用布局的“窗体向导”对话框,如图5-18所示,选择“数据表”选项,然后单击“下一步”按钮。•(5)弹出指定窗体样式的“窗体向导”对话框,如图5-19所示,在右侧列表框中选择“宣纸”选项,然后单击“下一步”按钮。•(6)弹出指定主/子窗体标题的“窗体向导”对话框,如图5-20所示,默认“窗体”文本框中输入“学生档案”,在“子窗体”文本框中选中输入“学生成绩子窗体”,然后单击“完成”按钮。•此时主/子窗体已创建成功,创建的窗体如图5-21所示,并且创建的窗体在数据库窗口显示,其中有“学生档案”和“学生成绩子窗体”两个窗体。•3.利用图表向导创建窗体•(1)启动Access2003应用程序,打开要创建窗体的“学生管理”数据库。•(2)在数据库窗口的“对象”栏中单击“窗体”选项,然后单击数据库工具栏上的“新建”按钮。•(3)弹出“新建窗体”对话框,在右侧列表中选择“图表向导”选项,在“请选择该对象数据的来源表或查询”下拉列表框中选择数据源表“学生成绩”,然后单击“确定”按钮。•(4)弹出确定图表数据所在字段的“图表向导”对话框,如图5-23所示,在“可用字段”列表框中显示了“学生成绩”数据表中所有字段,根据需要选中字段,然后单击向右按钮,将所选字段添加到“选定的字段”列表框中。重复上述操作,依次将需要的字段添加到“选定的字段”列表框中,然后单击“下一步”按钮。•(5)弹出确定图表类型的“窗体向导”对话框,如图5-24所示,其中有“柱形图”、“条形图”、“饼图”、“面积图”、“气泡图”等供选择,此处选中“柱形图”,然后单击“下一步”按钮。•(6)弹出指定图表布局方式的“图表向导”对话框,如图5-25所示,将“课程编号”拖动到“轴”,将“成绩”拖动到“系列”,然后单击“下一步”按钮。•(7)弹出指定图表标题的“图表向导”对话框,在“请指定图表的标题”列表框中输入“学生成绩图表”,这样在图表上就会出现“学生成绩图表”的标题。在“请确定是否显示图表的图例”栏中选中“是,显示图例”单选按钮,在图表旁边会给出图例,方便查看,如图5-27所示。设置完成后单击“完成”按钮。•此时窗体已创建成功,创建的窗体如图5-28所示,单击工具栏上的“保存”按钮,弹出“另存为”对话框,在文本框中输入“学生成绩图表”,单击“确定”按钮将窗体进行保存,此时创建的窗体在数据库窗口显示。•4.利用数据透视表向导创建窗体•利用数据透视表向导可以直接创建数据透视表窗体,在创建过程中,用户可以动态的改变窗体的版式布局,以便按照需要方式对数据进行分析。•(1)启动Access2003应用程序,打开要创建窗体的“学生管理”数据库。•(2)在数据库窗口的“对象”栏中单击“窗体”选项,然后单击数据库工具栏上的“新建”按钮。•(3)弹出“新建窗体”对话框,在右侧列表中选择“数据透视表向导”选项,在“请选择该对象数据的来源表或查询”下拉列表框中选择数据源表“学生成绩”,然后单击“确定”按钮。这里也可以先不选择数据源表而在后面的对话框中进行选择。•(4)弹出对数据透视表简介的“数据透视表向导”对话框,通过对简介的阅读可以对数据透视表有更深的理解。没有问题以后,单击“下一步”按钮。•(5)弹出选择字段的向导对话框,在其中选择需要的字段,选择方法和前面一样,并且选中“显示简介页”复选框,然后单击“完成”按钮。•(6)弹出空白“学生成绩”窗体和“数据透视表字段列表”窗口,如图5-32所示,将窗口中“学号”拖动到窗体中的“将行字段拖至此处”处,将“课程编号”拖动到窗体中的“将列字段拖至此处”处,将“成绩”和“平时成绩”拖动到窗体中的“将汇总或明细拖至此处”处,将“等级”拖动到窗体中的“将筛选字段拖至此处”处。•(7)结果如图5-33所示,在数据透视表中可以同时显示汇总和明细数据,单击“+”可以显示汇总和明细数据,单击“-”可隐藏汇总和明细数据。5.2.2在设计视图中创建窗体•(1)启动Access2003应用程序,打开要创建窗体的“学生管理”数据库。•(2)在数据库窗口的“对象”栏中单击“窗体”选项,然后单击数据库工具栏上的“新建”按钮。•(3)弹出“新建窗体”对话框,在右侧列表中选择“设计视图”选项,在“请选择该对象数据的来源表或查询”下拉列表框中选择数据源表“学生选课”,然后单击“确定”按钮。•(4)弹出对窗体的设计视图和字段列表,如图5-36所示。如果没有显示字段列表,可以通过“视图”→“字段列表”来显示字段列表。•(5)将所需字段拖动到主体节中,如图5-38所示。单击工具栏上的“保存”按钮,在弹出的“另存为”对话框中输入窗体名称“学生选课”,然后单击“确定”按钮。•(6)单击菜单栏上“视图”→“窗体视图”或单击工具栏中“视图”按钮,在下拉菜单中单击“窗体视图”,也可以右击窗体标题栏,在弹出的快捷菜单中单击“窗体视图”,将窗体切换到窗体视图,如图5-39所示,显示了设计视图效果。5.2.3自动创建窗体•自动创建窗体是创建窗体最为快捷的方法,自动创建窗体的形式可以是“纵栏式”、“表格式”、“数据表”、“数据透视表”和“数据透视图”。•(1)启动Access2003应用程序,打开要创建窗体的“学生管理”数据库。•(2)在数据库窗口的“对象”栏中单击“窗体”选项,然后单击数据库工具栏上的“新建”按钮。•(3)弹出“新建窗体”对话框,在右侧列表中选择“自动创建窗体:表格式”选项,在“请选择该对象数据的来源表或查询”下拉列表框中选择数据源表“学生成绩”,然后单击“确定”按钮。•(4)弹出创建好的窗体,单击工具栏上“保存”按钮,在弹出的“另存为”对话框中输入窗体名称“学生成绩1”,单击“确定”按钮,创建好的窗体如图5-40所示。5.3自定义设计窗体•首先介绍一下“窗体设计”工具栏,如图5-41所示,其中包含多个按钮,利用这些按钮完成多种操