《数据库窗体》PPT课件.ppt
第5章,窗体是一种主要用于在数据库中输入和显示数据的数据库对象。也可以将窗体用作切换面板来打开数据库中的其他窗体和报表,或者用作自定义对话框来接受用户的输入及根据输入执行操作。,窗体,第5章 窗体,本章主要内容,退出,5.1 窗体概述5.2 创建窗体5.3 在设计视图中进行自定义窗体设计,5.1 窗体概述,在Access数据库中,窗体是用户与数据库系统之间进行交互操作的主要对象。窗体本质上就是一个Windows 的窗口,只是在进行可视化程序设计时将其称为窗体。窗体主要用于在数据库中输入和显示数据,也可以将窗体用作切换面板来打开数据库中的其他对象,或者用作自定义对话框来接受用户的输入及根据输入去执行相应操作。,由于窗体的功能与数据库中的数据密切相关,故在建立一个窗体时,往往需要指定与该窗体相关的表或查询对象,也就是需要指定窗体的记录源。窗体的记录源可以是表或查询对象,还可以是一个SQL语句。窗体中显示的数据将来自记录源指定的基础表或查询。在窗体中,通常需要使用各种窗体元素,例如:标签、文本框、选项按钮、复选框、命令按钮、图片框等等。在术语上把这些窗体元素称为控件。对于负责显示记录源中某个字段数据的控件,需要将该控件的“控件来源”属性指定为记录源中的某个字段,5.1.1 窗体的组成,窗体的构成包括窗体页眉、页面页眉、主体、页面页脚和窗体页脚五个部分,每个部分称为一个“节”。窗体中的信息可以分布在多个节中。,(1)窗体页眉节 窗体页眉节显示对每条记录都一样的信息,如窗体的标题。窗体页眉出现在“窗体”视图中屏幕的顶部,以及打印时首页的顶部。(2)页面页眉节 页面页眉节在每个打印页的顶部显示诸如标题或列标题等信息。页面页眉只出现在打印窗体中。(3)主体节 主体节明细地显示记录。可以在屏幕或页上显示一条记录,也可以显示尽可能多的记录。(4)页面页脚节 页面页脚节在每个打印页的底部显示诸如日期或页码等信息。页面页脚只出现在打印窗体中。(5)窗体页脚节 窗体页脚节显示对每条记录都一样的信息,如命令按钮或有关使用窗体的指导。打印时,窗体页脚出现在最后一个打印页的最后一个主体节之后,最后一个打印页的页面页脚之前。,5.1.3 窗体的视图类型,在 Access 数据库中,窗体的视图类型通常有如下几种:(1)“设计”视图 若要创建一个窗体,可在“设计”视图中进行。在“设计”视图中,使用“格式”工具栏更改字体或字体大小、对齐文本、更改边框或线条宽度、应用颜色或特殊效果。可以使用标尺对齐控件。可将控件放在主体节中,或其他某个窗体节中。还可以使用工具箱添加控件,如标签和文本框等。在“设计”视图中,单击“视图”按钮切换到另一个视图。(2)“窗体”视图 在“设计”视图中创建窗体后,即可在“窗体”视图中进行查看。在“窗体”视图中,通常每次只能查看一条记录。在“窗体”视图视图中,使用导航按钮可以在记录之间快速切换。,5.1.2 窗体的视图类型(续),(3)“数据表”视图 在“数据表”视图中,可以查看以行与列格式显示的记录,因此可以同时看到许多条记录。在“数据表”视图中,使用导航按钮可以在记录之间快速切换。(4)数据透视表视图 在数据透视表视图中,可以动态地更改窗体的版面,从而以各种不同方法分析数据。可以重新排列行标题、列标题和筛选字段,直到形成所需的版面布置为止。每次改变版面布置时,窗体会立即按照新的布置重新计算数据。(5)数据透视图视图 在数据透视图视图中,可以动态地更改窗体的版面,从而以各种不同方法分析数据。可以重新排列行标题、列标题和筛选字段,直到形成所需的版面布置为止。每次改变版面布置时,窗体会立即按照新的布置重新计算数据并显出对应的图表。,5.1.3 窗体的类型,一般来说,Access 2003提供了如下5种类型的窗体:(1)纵栏式窗体 在纵栏式窗体中,每个字段都显示在一个独立的行上,并且左边带有一个标签。(2)表格式窗体 在表格式窗体中,每条记录的所有字段显示在一行上,每条记录只有一个标签,显示在窗体的顶端。(3)数据表窗体 在数据表窗体中,每条记录的字段以行与列的格式显示,字段的名称显示在每一列的顶端。(4)数据透视表窗体 在数据透视表窗体中,可以动态地改变数据透视表窗体的版式布置,以便按照不同方式分析数据。(5)数据透视图窗体 在数据透视图窗体中,通过图表可直观地显示数据,并且可以显示一个或多个图表。,5.1.4 主/子窗体,子窗体是插入到另一窗体中的窗体。原始窗体称为主窗体,窗体中的窗体称为子窗体。当显示具有一对多关系的表或查询中的数据时,子窗体特别有效。例如,可以创建一个带有子窗体的主窗体,用于显示“学系”表和“专业”表中的数据。“学系”表和“专业”表之间的关系是一对多关系。“学系”表中的数据是一对多关系中的“一”方,“专业”表中的数据是一对多关系中的“多”方,因为每一学系都可以有多个专业。如果将每个子窗体都放在主窗体上,则主窗体可以包含任意数量的子窗体。还可以嵌套多达七层的子窗体。也就是说,可以在主窗体内包含子窗体,而子窗体内可以再有子窗体,等等。,5.1.5 控件,控件是允许用户控制程序的图形用户界面对象,如文本框、复选框、滚动条或命令按钮等。可使用控件显示数据或选项、执行操作或使用户界面更易阅读。窗体中的所有信息都包含在控件中。窗体的控件包括标签、文本框、选项组、切换按钮、选项按钮、复选框、组合框、列表框、命令按钮、选项卡控件、图像、非绑定对象框、绑定对象框、子窗体/子报表、直线、矩形及 ActiveX 控件等等。,5.1.5 控件(控件的类型),1控件的类型 窗体中的控件可分为如下三种类型:(1)绑定控件 绑定控件与基础表或基础查询中的字段捆缚在一起。使用绑定控件可以显示、输入或更新数据库中的字段值。(2)未绑定控件 未绑定控件没有数据源。使用未绑定控件可以显示信息、线条、矩形和图片等。(3)计算控件 计算控件使用表达式作为其控件来源。表达式是运算符、常数、函数和字段名称、控件和属性的任意组合。表达式的计算结果为单个值。必须在表达式前键入一个等号(=)。表达式可以使用窗体记录源基础表或查询中的字段数据,也可使用窗体上其他控件的数据。例如,要在文本框中显示当前日期,需将该文本框的“控件来源”属性指定为:=Date()。,5.1.5 控件(创建控件的方法),2创建控件的方法(1)在基于记录源的窗体中,可以通过从字段列表中拖动字段来创建控件。其中的字段列表是列出了基础记录源或数据库对象中的全部字段的窗口。(2)通过单击工具箱中某一控件按钮来直接创建控件。(3)在确保工具箱中的“控件向导”按钮按下后,通过单击工具箱中某一控件按钮,并使用该控件向导(当Access对该控件提供有控件向导时才可以使用该控件向导)来创建控件。,5.1.6 工具箱,工具箱是由一些可以用在“设计”视图中向窗体、报表或数据访问页添加控件的工具组成的集合。请注意,在页“设计”视图中可用的工具箱与在窗体和报表“设计”视图中可用的工具箱不同。在窗体的“设计视图”中,单击“视图”菜单中的“工具箱”命令(或单击“工具栏”中的“工具箱”按钮),可显出(或隐藏)该窗体设计的“工具箱”。,5.1.6 工具箱(续),5.1.7 工具箱,5.1.6 工具箱,请注意:列表框是仅可以从其列表中选择值,不可以在列表框中输入值。组合框是窗体上用来提供列表框和文本框的组合功能的一种控件,用户既可以在组合框中键入一个值,也可以单击控件以显示一个列表,并从该列表中选择一列表项值。,5.1.7 窗体和控件的属性,窗体属性决定窗体的结构、外观和行为。控件属性决定控件的结构、外观和行为,以及其中所含文本或数据的特性。使用某一对象的“属性”对话框可以设置其属性。在选定了窗体、节或控件后,单击工具栏中的“属性”按钮,可以打开其“属性”对话框。一般来说,Access 对各个属性都提供了相应的默认值或空字符串,用户在打开某个对象的“属性”对话框后,可以重新设置该对象的任一属性值。,5.1.7 窗体和控件的属性(续),图5-3 窗体的“属性”对话框示例,5.1.8 窗体和控件的事件,事件是一种特定的操作,在某个对象上发生或对某个对象发生。Access 可以响应多种类型的事件,如键盘事件、鼠标事件、对象事件、窗口事件及操作事件等等。事件的发生通常是用户操作的结果,例如,当打开某窗体显出第一个记录之前时所发生“打开”窗口事件。单击鼠标时发生“单击”鼠标事件。事件过程是为响应由用户或程序代码引发的事件或由系统触发的事件而运行的过程。过程包含一系列的 Visual Basic 语句,用以执行操作或计算值。通过使用事件过程,可以为在窗体或控件上发生的事件添加自定义的事件响应。,5.2 创建窗体,窗体是用户与数据库系统之间进行交互的主要对象。在使用某种功能的窗体之前,也必须根据应用需求,先创建好该窗体。,5.2.1 创建窗体的方法,(1)“在设计视图中创建窗体”方法与“新建窗体”对话框的“设计视图”方法相同。(2)“使用向导创建窗体”方法与“新建窗体”对话框的“窗体向导”方法相同。,5.2.2 使用自动创建窗体创建窗体,使用“自动创建窗体”创建窗体是基于单个表或查询来创建窗体。在Access 中,使用“自动创建窗体”方法可以创建五种类型窗体:纵栏式窗体 表格式窗体 数据表窗体 数据透视表窗体 数据透视图窗体,1使用“自动创建窗体:纵栏式”创建纵栏式窗体,例5-1 在“学生管理系统”数据库中,使用“自动创建窗体:纵栏式”创建一个名为“例5-1班级(纵栏式窗体)”的纵栏式窗体。该窗体的记录源是“班级”表。,2使用“自动创建窗体:表格式”创建表格式窗体,例5-2 在“学生管理系统”数据库中,使用“自动创建窗体:表格式”创建一个名为“例5-2班级(表格式窗体)”的表格式窗体。该窗体的记录源是“班级”表。,3使用“自动创建窗体:数据表”创建数据表窗体,例5-3 在“学生管理系统”数据库中,使用“自动创建窗体:数据表”创建一个名为“例5-3学生修课成绩(数据表窗体)”的数据表窗体。该窗体记录源是“修课成绩”表。,4使用“自动窗体:数据透视表”创建数据透视表窗体,例5-4 在“学生管理系统”数据库中,使用“自动窗体:数据透视表”创建一个名为“例5-4学生各班级男女人数(数据透视表窗体)”的数据透视表窗体。该窗体的记录源是“学生”表。,5使用“自动窗体:数据透视图”创建数据透视图窗体,例5-5 在“学生管理系统”数据库中,使用“自动窗体:数据透视图”创建一个名为“例5-5学生各班级男女人数(数据透视图窗体)”的数据透视图窗体。该窗体的记录源源是“学生”表。,5.2.3 使用“窗体向导”创建基于一个表的窗体,使用Access提供的“窗体向导”,用户可以很方便快捷地创建基于一个表(或查询)的窗体,也可以方便快捷地创建基于多个表(或查询)的窗体。例5-6 在“学生管理系统”数据库中,使用“窗体向导”创建一个名为“例5-6学系窗体”的窗体。该窗体的记录源是“学系”表。,5.2.3 使用“窗体向导”创建基于一个表的窗体(例5-6),5.2.3 使用“窗体向导”创建基于一个表的窗体(例5-6),为了利用窗体添加新记录,只要单击导航条中的“添加新记录”按钮,便可在窗体中键入新记录的内容。记录内容输入完毕后,可单击Access主窗口工具栏中的“保存”按钮保存输入的记录,也可以单击导航栏中的任一个移动记录按钮来保存输入的数据。如果需要连续输入新的记录则在输入一个记录完毕后单击“添加新记录”按钮,这样可以保存刚刚输入的记录,同时准备好输入新记录。,“添加新记录”按钮,5.2.3 使用“窗体向导”创建基于一个表的窗体(例5-6),如果为了避免用户在使用窗体查看记录的过程无意中修改表的内容,则可以打开窗体的“设计”窗口,然后在“属性”对话框中将窗体的“允许编辑”、“允许删除”、“允许添加”等属性的属性值设置为:“否”(如图5-22所示)。,5.2.4 使用“窗体向导”创建基于二个表的主/子窗体,例5-7 在“学生管理系统”数据库中,使用“窗体向导”创建一个名为“例5-7学系主窗体”的窗体,在该主窗体中包含一个名为“例5-7专业子窗体”的子窗体。该主/子窗体的记录源分别是“学系”表和“专业”表。,5.2.5 使用“数据透视表向导”创建窗体,例5-8 在“学生管理系统”数据库中,使用“数据透视表向导”创建一个名为“例5-8学生各班级男女人数(数据透视表窗体)”的数据透视表窗体。该窗体的记录源是“学生”表。,5.2.6 使用“图表向导”创建窗体,例5-9 在“学生管理系统”数据库中,使用“图表向导”创建一个名为“例5-9学生各班级男女人数(数据透视图窗体)”的数据透视图窗体。该窗体的记录源是“学生”表。,5.2.7 使用“设计视图”创建窗体,图5-47 选定了“主体”节的窗体“设计”视图窗口,5.2.7 使用“设计视图”创建窗体(指定记录源),“学生”表的“字段列表”,指定“学生”表为记录源,“控件来源”属性,5.2.7 使用“设计视图”创建窗体(移动位置、改变大小),鼠标的形状是一个黑色的张开手掌图案,鼠标的形状是一个手指向上的手的图案,鼠标的形状是一个手指向上的手的图案,5.3 在设计视图中进行自定义窗体设计,在使用“设计视图”进行自定义窗体设计的过程中,将涉及到窗体的创建、各种控件的创建、窗体“属性”的设置、控件“属性”的设置、控件大小的设置、控件间距的设置及控件位置对齐的设置等内容。,5.3.1 使用“设计视图”创建一个只读的主/子窗体(例5-10),例5-10 在“学生管理系统”数据库中,使用“设计视图”创建一个名为“例5-10浏览学生基本情况”的窗体,其窗体设计形如图5-56所示。要求创建一个主/子类型的窗体,主窗体的记录源是“学生”表,子窗体的数据来源是已经创建好的“例5-3学生修课成绩(数据表窗体)”窗体。当运行该窗体时,用户只能浏览查看信息,不允许对“学生”表和“修课成绩”表进行任何“修改”、“删除”和“添加”记录的操作。对主窗体不设置导航条,但要创建四个“记录导航”操作按钮,一个“窗体操作”的“关闭窗体”按钮。还要在窗体页眉显出“浏览学生基本情况”文字和当前日期。,5.3.1 使用“设计视图”创建一个只读的主/子窗体(例5-10 续),5.3.2 使用“设计视图”创建一个输入窗体(例5-11),例5-11 在“学生管理系统”数据库中,使用“设计视图”创建一个名为“例5-11输入学生基本信息”的窗体,其“窗体视图”如图5-81所示。该窗体的记录源是“学生”表。当运行该窗体“例5-11输入学生基本信息”时,使用“添加记录”按钮可添加新记录,使用“保存记录”按钮可保存该新记录,使用“撤消记录”按钮可删除当前新记录。,5.3.2 使用“设计视图”创建一个输入窗体(例5-11),例5-11 窗体设计形如图5-81所示。,5.3.3 使用“设计视图”创建一个含选项卡的控制窗体(例5-12),例5-12 在“学生管理系统”数据库中,使用“设计视图”创建一个名为“例5-12含选项卡及图片的控制窗体”的窗体,该窗体的“窗体视图”如图5-90所示。该窗体没有数据源。当运行该窗体“例5-12含选项卡及图片的控制窗体”时,单击该窗体内的某选项卡中的某一按钮时,即可运行该按钮所指定的操作,并显出其运行结果。,5.3.3 使用“设计视图”创建一个含选项卡的控制窗体(例5-12续),图5-90“例5-12含选项卡及图片的控制窗体”的“窗体视图”,5.3.4 在窗体“设计视图”中使用“工具箱”创建“选项组”控件(例5-13),例5-13 在“学生管理系统”数据库中,使用“设计视图”创建一个名为“例5-13含选项组的窗体”的窗体,其窗体设计形如图5-111所示。在该窗体中,通过使用“工具箱”和“选项组向导”创建一个“选项组”控件。该“选项组”包含两个“选项”(即单选)按钮。这两个“选项”按钮的标签和值分别是:男,0;女,1。该选项组的标题为:性别。,图5-111 例5-13含选项组的窗体的“窗体视图”,5.3.4 在窗体“设计视图”中使用“工具箱”创建“选项组”控件(例5-13续),5.3.4 在窗体“设计视图”中使用“工具箱”创建“选项组”控件(例5-13续),