数据库管理系统应用第7章窗体教师:周浪部门:信息工程学院第7章窗体7.1窗体概述7.2创建窗体7.3设计窗体7.4控件的创建与使用7.5其他设计本章要点窗体的概念与作用窗体的基本结构和视图种类使用向导创建窗体使用设计视图创建窗体窗体中控件对象的种类和使用窗体及控件的常用属性设置与事件的设置方法设置启动窗体7.1窗体概述窗体就是程序运行时的Windows窗口,是人机交互的界面。7.1.1窗体的主要功能输入和编辑数据控制应用程序的流程信息显示和打印窗体单个窗体连续窗体数据表窗体数据透视表窗体/数据透视图窗体分割窗体主/子窗体七种窗体类型7.1.2窗体的类型7.1.3窗体的视图窗体视图是窗体在具有不同功能和应用范围下呈现的外观表现形式。窗体视图数据表视图设计视图布局视图7.1.4窗体的组成窗体页眉页面页眉主体页面页脚窗体页脚7.2创建窗体在Access中可以使用三种方法创建窗体:窗体向导设计视图自动创建窗体7.2.1自动创建窗体创建窗体时,在某些情况下需要指定窗体的数据源。窗体的数据源可以是:表查询SQL语句自动创建窗体可以创建一个基于单表或查询的窗体。自动创建窗体操作步骤简单,是一种快速创建窗体的方法。1.使用“窗体”按钮【例】使用“窗体”按钮创建基于“学生”表的窗体。2.使用“多个项目”按钮“多个项目”窗体是指在一个窗体中显示多条记录的连续窗体的窗体格式。记录是以数据表的形式显示,是一种连续窗体。使用“多个项目”创建窗体【例】基于“学生”表创建“多个项目”样式的窗体。3.分割窗体分割窗体包含两个窗格:上半区域以单个窗体的形式突出显示当前记录的数据。下半区域以数据表样式显示当前数据源中的所有数据。两种视图基于同一个数据源,并始终保持同步。可以在任意一部分中对记录进行切换和编辑。创建分割窗体【例】以“教师”表为数据源创建一个分割窗体。7.2.2创建数据透视表窗体数据透视表是通过Excel技术从不同角度来分析数据,得到数据的明细或汇总结果供用户使用。通过重新调整行标题、列标题、筛选字段以及汇总或明细字段,可动态改变数据透视表窗体的布局。创建数据透视表窗体【例】创建一个数据透视表窗体,统计“学生”表中不同政治面貌的男女生人数,以“民族代码”为筛选字段。7.2.3创建数据透视图窗体数据透视图窗体以图形的方式直观地表现数据统计结果。【例】创建一个数据透视图窗体,查看“课程”表中每个学期必修课和选修课的平均学分。7.2.4使用“空白窗体”按钮创建窗体利用“空白窗体”按钮可以在布局视图下创建窗体,默认情况下该窗体只有主体节。【例】利用“空白窗体”按钮创建基于“教师”表的窗体,显示每个教师的职工号、姓名、性别和职称等信息。7.2.5使用向导创建窗体使用窗体向导方式创建窗体可以根据需要选择显示的字段和字段显示顺序,并提供了几种可选择的窗体布局样式。使用窗体向导方式创建窗体时,其数据源可以是一个或多个数据表或查询。使用向导创建窗体---单数据源【例1】利用“窗体向导”方式创建基于“教师”表的纵栏式窗体,显示每个教师的姓名、性别、职称和院系代码。使用向导创建窗体---多数据源【例2】利用“窗体向导”方式创建一个查看每个学生成绩的主/子窗体,显示字段有:学号、姓名、性别、出生日期、课程号和成绩,数据源为“学生”表和“成绩”表。说明如果所选择的多个数据源之间没有建立关系,则窗体向导将提示重新定义相应表之间的关系。创建多数据源窗体之前,应确保作为主窗体的数据源与作为子窗体的数据源之间已经建立了一对多关系。7.3设计窗体7.3.1窗体设计视图1.窗体设计视图的打开以设计视图方式新建窗体以设计视图方式打开已有的窗体窗体的设计视图2.窗体设计视图的组成窗体最多可拥有5个部分,每一部分称为一个“节”。主体(必需)窗体页眉窗体页脚页面页眉页面页脚窗体的设计视图3.窗体大小的设置拖动每个节的下边界、右边界或右下角4.“窗体设计工具”选项卡7.3.2属性、事件与方法1.属性对象属性设置的方法通常是:鼠标右击对象后在快捷菜单中选择【属性】命令属性是对对象性质或特性的描述。通过更改对象的属性,可以实现对象的外观和行为的设置。控件的属性包括:格式属性、数据属性、事件属性和其它属性属性、事件与方法2.事件对象事件设置的方法通常是:在其【属性表】窗格的【事件】选项卡中进行。事件是由对象识别并响应的一个动作。在事件中预先设置程序代码,当该动作发生时,响应相应的事件代码。在事件中编写对应的事件过程或指定事先编制好的宏。属性、事件与方法3.方法方法是对象能够执行的一种操作。随着对象的类型不同,其所能调用的方法也有所不同。1.窗体的常用属性标题(Caption)用于指定窗体的显示标题。默认视图(DefaultView)设置窗体的显示形式,可以选择:单个窗体、连续窗体、数据表、数据透视表等方式。允许窗体视图(AllowFormView)设置是否可以在“窗体视图”中查看指定的窗体。7.3.3窗体的设计窗体的常用属性滚动条(Scrollbars)用于指定在窗体上是否具有窗体的滚动条。分隔线(DividingLines)用于指定窗体显示时是否显示各节之间的分隔线。导航按钮(NavigationButtons)用于指定在窗体上是否显示浏览按钮和记录编号框记录选择器(RecordSelectors)用于指定窗体显示时是否显示记录选择器。窗体的常用属性自动居中(AutoCenter)指定窗体显示时是否自动居于桌面的中央。关闭按钮(CloseButton)决定窗体是否具有关闭按钮。最大最小化按钮(MinMaxButton)决定窗体是否具有最大化和最小化按钮。窗体的常用属性可移动的(Moveable)决定窗体在运行时是否允许移动窗体。排序依据(OrderBy)该属性是一个字符表达式,由字段名或字段名表达式组成,指定排序的依据。记录源(RecordSource)为窗体或报表指定数据源,并显示来自表、查询或SQL语句的数据源。窗体的常用属性允许编辑(AllowEdits)确定窗体在运行时是否允许对数据进行编辑修改。快捷菜单(ShortCutMenu)如果选择“是”,则在用鼠标右键单击窗体上的对象时显示快捷菜单。允许添加(AllowAdditions)确定窗体在运行时是否允许添加记录。允许删除(AllowDeletions)确定窗体在运行时是否允许删除记录。2.窗体属性的设置方法窗体的属性设置有两种方法:在设计视图中利用属性表设置通过命令语句在窗体运行时动态设置7.3.3窗体的设计(1)属性表设置窗体属性在设计视图中利用属性表设置窗体属性的方法:单击窗体设计视图中【窗体选定器】选择窗体。在【属性表】窗格中选择所要设置的属性,执行以下操作之一:在属性对话框中输入适当的设置或表达式。从属性的下拉列表中选择相应的值。单击属性的【生成器】按钮,选择相应生成器后利用该生成器设置属性。举例【例1】根据要求对窗体进行以下设置:标题:学生信息表默认视图:连续窗体自动居中:是记录选择器:否导航按钮:否滚动条:两者均无分隔线:是最大最小化按钮:无举例【例2】设置窗体的背景图案。窗体的背景图案的属性设置包括:图片(Picture):flower.jpg图片类型(PictureType):链接、嵌入图片缩放模式(PictureSizeMode):剪辑、拉伸、缩放、水平拉伸、垂直拉伸图片对齐方式(PictureAlignment)图片平铺(PictureTiling):是/否(2)在VBE中设置窗体属性在VBA数据库编程过程中,可以通过命令语句动态地设置窗体的属性。语法格式:Forms!窗体名称.属性名称=属性值或:Me.属性名称=属性值举例【例】取消“学生信息”窗体的“分隔线”(DividingLines),即将该属性值设置为False(或0)。在窗体中添加一个命令按钮控件Command0,在Command0的单击事件(Click)中写事件代码:PrivateSubCommand0_Click()Forms!学生信息.DividingLines=FalseEndSubMe.DividingLines=0或:7.3.3窗体的设计3.窗体的常用事件“打开”事件(OnOpen)窗体被打开,但第一条记录还未显示出来时发生该事件。“加载”事件(OnLoad)窗体被打开,且显示了记录时发生该事件。在Open事件之后发生。在该事件代码中,可以对变量或控件进行声明或赋予初始值。窗体的常用事件“激活”事件(OnActivate)在窗体成为激活状态时发生该事件。“成为当前”事件(OnCurrent)当焦点移动到一条记录,使它成为当前记录,或当重新查询窗体数据源时发生的事件。窗体的常用事件“卸载”事件(OnUnload)窗体从内存中撤消之前发生该事件。在Close事件之前。在该代码中,可以对数据进行保存操作。“关闭”事件(OnClose)窗体被关闭,但还未清屏时发生该事件。“停用”事件(OnDeactivate)窗体由活动状态转为非活动状态时发生该事件。窗体的常用事件“出错”事件(OnError)在窗体或报表拥有焦点,同时在Access中产生一个运行错误时发生该事件。“计时器间隔”属性(TimerInterval)单位为毫秒。“计时器触发”事件(OnTimer)每隔一定的时间间隔,该事件就被激活一次。窗体的常用事件发生顺序以上所述的窗体事件的发生有其先后顺序:OnOpenOnLoadOnActivateOnCurrent打开窗体时:OnUnloadOnDeActivateOnClose关闭窗体时:举例【例】实现窗体主体的背景色每隔1秒钟红蓝交替显示。设置窗体的“计时器间隔”属性为1000。设置窗体主体的“背景色”属性为“红色”。举例PrivateSubForm_Timer()IfMe.主体.BackColor=RGB(255,0,0)ThenMe.主体.BackColor=RGB(0,0,255)ElseMe.主体.BackColor=RGB(255,0,0)EndIfEndSub设置窗体的“计时器触发”事件代码为:1.定位数据窗体中定位记录,需要利用窗体下方的记录导航栏2.添加及编辑数据单击记录导航栏中的【新(空白)记录】按钮7.3.4窗体的使用3.删除记录单击记录选择器,选中一条或多条记录(1)“开始”功能区/“记录”组/“删除”按钮(2)【Del】键(3)快捷菜单命令【剪切】窗体的使用4.记录筛选和排序光标定位在需要排序的字段中;“开始”功能区/“排序和筛选”组根据控件的用途及其与数据源的关系,可以将控件分为以下三类:绑定型控件非绑定型控件计算型控件7.4控件的创建与使用控件是在窗体中用来显示数据、输入数据、执行操作、使窗体更易于阅读的一种图形对象。控件的分类绑定型控件:绑定型控件通常有其数据源,控件中数据来自于数据源,且对控件中数据的修改将返回到与其绑定的数据源中。绑定型控件主要用于显示、输入及更新数据表(或查询)中的字段。例如:文本框、组合框、列表框等控件的分类未绑定型控件:该类控件没有数据源,主要用于显示提示信息、线条、矩形及图像。主要有标签、命令按钮、图像、直线、分页符等。该类控件以表达式作为数据源,表达式可以使用窗体或报表所引用的表或查询中的字段数据,或其它控件的值。计算型控件:在Access窗体的工具箱里有20种不同类型的控件,这些控件既可以在窗体中使用,也可以在报表中使用。7.4.1控件的编辑处理向窗体中添加控件有3种方法:利用控件向导创建利用“控件”组直接创建利用数据源创建1.创建/添加控件添加控件(1)利用控件向导创建控件确保已经按下【使用控件向导】按钮。利用向导可以方便、快捷地创建控件,且用户不必编写代码,但处理功能较弱。添加控件(2)利用“控件”组直接创建控件确保已经弹起【使用控件向导】按钮。手工创