数据库技术与应用-基于Access第4章窗体设计_第1页
数据库技术与应用-基于Access第4章窗体设计_第2页
数据库技术与应用-基于Access第4章窗体设计_第3页
数据库技术与应用-基于Access第4章窗体设计_第4页
数据库技术与应用-基于Access第4章窗体设计_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库技术与应用基于Access第4章 窗体设计学习目标知识目标:了解各种窗体的相关知识、各种窗体控件基本属性、常用窗体事件的设置。技能目标:能够按照要求,采用正确的方法创建符合要求的各种窗体,并能按照要求为窗体设置常用的事件。能力目标:能够根据需要,灵活选择和应用不同的窗体,分析与解决窗体应用中的实际问题。引例:“罗斯文”数据库中的订单窗体在“罗斯文”数据库中有一个订单窗体它的运行界面如图4-1,它以漂亮的窗体界面将多个数据库和查询作为数据源,使它们协调地在一个窗体中显示互为相关的内容并允许用户编辑部分数据,还利用了事件、宏等处理技术,自动完成了很多需要在多个数据表中重复处理的工作。图4-1

2、“罗斯文”数据库的订单窗体窗体的定义及作用窗体是Access数据库对象之一,是数据库与Access应用程序的接口,窗体有多种形式,不同的窗体完成不同的功能。利用窗体,用户可以方便地录入、修改、查询数据库记录,同时也可以避免因为直接操作数据库而导致的对数据库的破坏。在窗体中可以加入各种控件,并根据使用需要设置各种事件,使窗体的使用更为方便、灵活。窗体的结构窗体的视图有5种:设计视图、窗体视图、数据表视图、数据透视表视图和数据透视图视图。设计视图用于创建、修改窗体。窗体视图通常每次只能查看一条记录。数据表视图用于查看以行与列格式显示的记录,因此可以同时看到许多条记录。数据透视表视图和数据透视图视图

3、,可以动态地更改窗体的版面,从而以各种不同方法分析数据。可以重新排列行标题、列标题和筛选字段,直到形成所需的版面布置为止。每次改变版面布置时,窗体会立即按照新的布置重新计算数据。窗体的结构图4-2 窗体中节的说明窗体的组成窗体可为窗体页眉、页面页眉、主体、页面页脚和窗体页脚5个节。所有窗体都有一个主体节,最多可有5个节。可根据需要随时添加窗体页眉、页面页眉、页面页脚和窗体页脚节,并在各个节中,添加不同的控件。窗体的分类纵拦式窗体:该窗体每次只显示1条记录,适用于字段多、记录少的情况。表格式窗体:可以在一个窗体上显示多条记录,适用于记录多的情况数据表窗体:按数据表格式在一个窗体上显示多条记录,在

4、同样大小的情况下,显示的记录最多。主/子窗体:在窗体中显示两个关系为一对多的表或查询,移动主窗体的一条记录,自动显示对应子窗体的相关记录。数据透视表窗体:以指定的数据表或查询为数据源产生的Excel分析表形式的窗体。图表窗体:该窗体以图表的方式分析数据,可单独或以子窗体的形式使用它。窗体中的控件窗体中的所有信息都包含在控件中。控件是窗体用于显示数据、执行操作或装饰窗体的对象。控件可以是绑定、未绑定或计算型的。绑定控件与基础表或查询中的字段相连,可用于显示、输入及更新数据库中的字段。未绑定控件没有数据来源。未绑定控件可用于显示信息、线条、矩形及图像。计算控件以表达式作为数据来源。表达式可以使用窗

5、体或报表的基础表或基查询字段中的数据,也可以使用窗体或报表上其他控件中的数据。窗体设计视图中的工具箱图4-3“设计视图”中的工具箱使用“自动窗体”创建窗体“自动窗体”创建显示基础表或查询中所有字段和记录的窗体。利用“自动创建窗体”向导可以创建三种窗体:纵栏式窗体、表格式窗体和数据表式窗体。使用窗体向导创建窗体使用窗体向导可以控制窗体中显示的字段,窗体布局、风格等;可以创建基于多个数据来源的窗体,如果这多个表间有关系,还可创建带有子窗体的窗体或链接窗体。【例4-1】创建汽车销售系统的类别窗体,如图4-4所示。要求:以类别表和产品表为数据源,使用窗体向导创建名为“类别”的窗体。分析:类别窗体初看起

6、来比较复杂,窗体内容分为上下两部分,又有图片、但仔细观察窗体的布局比较粗糙,且类别表与产品表之间已用“类别ID”字段建立了“一对多”的关系,故利用窗体向导可方便的创建汽车销售系统的类别窗体。在窗体设计视图中创建窗体一个数据库应用系统不仅要设计合理,而且还应该有一个功能完善、外观漂亮的用户界面。利用向导创建窗体,虽然非常便捷,但略显模式化。对于个性化的窗体设计,必须在窗体设计视图中来进行。使用窗体设计视图创建窗体,一般操作步骤如下:首先创建空白窗体。选定窗体对象,然后单击数据库窗口工具栏上的“新建”按钮,得到图4-5。在新建窗体对话框中,单击“设计视图”。选择作为窗体数据来源的表或其他记录源的名

7、称。向窗体添加页眉/页脚、控件。设置各对象(窗体、控件)的属性。优化窗体设计。例如:外观、控件大小、位置等。复杂的窗体还需编写方法、事件过程代码。【例4-2】创建客户电话列表窗体,如图4-12所示。要求:只能浏览窗体,不能编辑窗体中的数据,在浏览窗体的过程中,每页显示多条客户信息,但只显示一条黄色背景的标题行。 图4-12 客户电话列表窗体 分析:虽然客户电话列表窗体看起来非常简单,如果使用窗体向导创建表格式或数据表式的窗体,不能按图4-12显示相应的信息,达不到规定的显示效果,因此不能简单地利用窗体向导创建该窗体,可以利用系统提供的窗体设计视图进行创建。从窗体的名称及图4-12显示的内容来分

8、析,可以很容易的判定所要创建的窗体其数据源为客户表。在窗体页眉区域设计的内容,显示在窗体之上,且只显示一次,在窗体主体区域设计的内容,会在窗体中连续分页显示。因此要求中所提的“每页显示多条客户信息,但只显示一条黄色背景的标题行”这个要求,可以很容易的在窗体设计视图中分别设计窗体页眉和窗体主体来满足。创建步骤:1)创建空白窗体。2)添加窗体页眉/页脚3)向窗体添加控件4)设置各对象(窗体、控件)的属性5)将设计结果保存为“客户电话列表”窗体。窗体基本控件的应用属性:在Access中,窗体、节以及添加到窗体上的控件统称为对象。对象都具有自己的属性、事件和方法。对象的属性决定对象的结构、外观和行为,

9、属性包含格式、数据、事件、其它4种。设置属性具体操作方法如下: (1)在窗体设计视图中,选择要设置其属性对象。(2)在所选择的对象上单击鼠标右键,然后单击快捷菜单上的“属性”命令,或单击工具栏上的“属性”按钮,显示属性表。(3)单击需要设置其值的属性,然后进行设置。 窗体常用属性边框样式、 控制框、 最大最小化按钮、 关闭按钮、滚动条、 浏览按钮、 记录选定器、 快捷菜单、 自动居中、 允许编辑、 允许删除、 允许添加、 数据入口、 默认视图、 允许的视图、 记录源、 筛选、 排序依据、 允许筛选。 标签可以在窗体上使用标签来显示说明性文本,标签并不显示字段或表达式的数值;它们总是未绑定的,而

10、且当从一个记录移到另一个记录时,它们的值都不会改变。创建文本框时,将有一个附加的标签显示此文本框的标题.创建标签的方法是单击在工具箱中的“标签”工具按钮,在窗体中单击要放置标签的位置,然后在标签上键入相应的文本。文本框文本框的类型有三种:绑定型、未绑定型或计算型。绑定型文本框能够从表、查询或SQL语言中获得所需要的内容。未绑定型的文本框,一般用来显示提示信息或接受用户输入数据,在未绑定型文本框中的数据并没有保存在任何位置。计算型文本框中,可以显示表达式的结果,当表达式发生变化时,数值就会被重新计算。 文本框操作(1)创建未绑定型文本框(2)创建绑定型文本框(3)将文本框绑定到数据源(4)文本框

11、的属性文本框的格式属性:文本框的数据属性:文本框控件的事件属性 复选框、选项按钮和切换按钮在窗体上可以使用复选框、选项按钮或切换按钮作为单独的控件来显示基础记录源的“是/否”值。如果选择了复选框、选项按钮或切换按钮,其值则为“是”;如果未选择,其值则为“否”。 选中或清除与 Access 数据库中的“是/否”字段绑定的选项按钮时,基础表中的值按照字段的“格式”属性显示(“是/否”,“真/假”,或“开/关”)。创建步骤创建绑定到数据的复选框、切换按钮、选项按钮的步骤如下:(1)在工具箱中单击所需的复选框、切换按钮、选项按钮工具按钮。 (2)单击工具栏上的“字段列表” 按钮来显示字段列表。如果字段

12、列表按钮或命令无效,则必须使用“记录源”属性来将窗体绑定到记录源。(3)单击字段列表中 “是/否”数据类型的字段,将其拖动到窗体。 (4)如果需要,可以更改标签的文本内容。 选项组可以在窗体中使用选项组来显示一组限制性的选项值。在选项组中每次只能选择一个选项。在窗体中,选项组含有一个组框架和一系列复选框,选项按钮和切换按钮。如果选项组绑定到某个字段,则只有组框架本身绑定到此字段,而不是组框架内的复选框、选项按钮或切换按钮。可以为每个复选框、选项按钮或切换按钮的“选项值”属性设置相应的数字。在选项组中选择选项时,Access 将该选项组所绑定之字段的值设置为所选选项的“选项值”属性值。【例4-3

13、】在窗体中创建“打印标签”选项组要求:新建一个空白窗体,利用向导在空白的窗体设计视图中添加如图所示的“打印标签”选项组。并以“客户标签对话框”为窗体名保存。分析:按照要求,观察图4-19可以看到“打印标签”选项组中包括选项组包含多个控件,分别命名为“所有城市”选项按钮、“指定城市”选项按钮、“打印标签标签”标签、“所有城市”标签、“指定城市”标签。注意在创建这个选项组的过程中一定要使所有控件的名字要与所命名的相同,并不绑定数据源。创建步骤:(1)新建一个不基于任何表的空白窗体,单击 “选项组”按钮。(2)在选项组向导一中输入两个标签内容“所有城市”和“指定城市”后单击“下一步”按钮。(3)在弹

14、出的选项组向导二中确定“所有城市”为默认选项后单击“下一步”按钮。(4)在弹出的选项组向导三中为标签选项赋值,“所有城市”为1,“指定城市”为2,之后单击“下一步”按钮。 (5)最后输入选项组标题为“打印标签”后单击“完成”按钮。(6)调整选项组的位置和大小。(7)右击“打印标签”组合框,在快捷菜单中选“属性”,然后按图4-20修改名称属性值“打印标签”。依次选中其他5个控件,分别设置其名称属性值为“所有城市”、“指定城市”、“打印标签标签”、“所有城市”、“指定城市”后选项组创建完成。(8)保存窗体为客户标签对话框列表框和组合框列表框和组合框方便了用户键入值的操作,可以从列表中直接选择需要的

15、值。列表框中的列表是由数据行组成的,列表框中可以有一个或多个字段,每栏的字段标题可以有也可以没有。如果一个多列的列表框是绑定列表框,可以在其中的列保存数值。组合框占用一行,打开后才显示列表内容,不需要太多的窗体空间。组合框中可以输入列表中没有的值,而列表框不允许。 创建列表框、组合框利用窗体向导创建窗体时,对于记录源中的“查阅”字段,Access 将自动创建查阅列表框或组合框。在窗体设计视图中,对于记录源中的“查阅”字段,从字段列表将“查阅”字段拖动到窗体中,将自动创建查阅列表框或组合框。也可利用“控件向导”创建绑定或未绑定组合框或列表框 【例4-4】在窗体中利用向导创建“供应商”组合框要求:

16、新建一个以“产品”表为数据源的“示例”窗体,在上面利用向导建立一个如图4-21所示的显示“供应商”表中供应商名称的组合框,为“产品”表中的“供应商ID”字段输入数据。 图4-21“供应商”组合框分析:新建组合框本身并不复杂,关键是要隐藏“供应商ID”列,只显示“公司名称”字段。并理解虽然在组合框内选择的是公司名称,但实际保存的是供应商ID的代码。创建步骤:在设计视图中新建一个基于产品表的空白窗体。单击窗体工具箱中的“组合框”按钮,在弹出的组合框向导中选择“使组合框在表或查询中查阅数值”后单击“下一步”按钮。在弹出的组合框向导中选择“供应商”表后单击“下一步”按钮。在弹出的组合框向导中选定可用字

17、段为“供应商ID”及“公司名称”两字段后单击“下一步”按钮。在弹出的组合框向导中选择以“供应商ID”升序排列在弹出的组合框向导中选中“隐藏键列(建议)”复选框后单击“下一步”按钮。在弹出的组合框向导中择“将该数值保存在这个字段中”选项并选择“供应商ID”字段,单击“下一步”按钮。最后输入组合框标题为“供应商”后单击“完成”按钮创建了一个绑定的组合框。命令按钮在窗体可以使用命令按钮来执行某个操作或某些操作。例如,可以创建一个命令按钮来打开另一个窗体。 使用“命令按钮向导”可以创建 30 多种不同类型的命令按钮。在使用“命令按钮向导”时,Access 将提示输入所需的信息并根据用户的回答来为用户创

18、建按钮及事件过程。当用户运行窗体时,只要单击命令按钮,即可自动执行相应的操作。【例4-5】创建命令按钮实例要求:在上例创建的“示例”窗体中添加如图4-25所示的“第一项记录”、 “前一项记录”、“下一项记录”、 “最后一项记录”及“关闭窗口”5个命令按钮。这些按钮要能控制供应商表的记录移动。图4-25添加了命令按钮的是“示例”窗体分析:添加命令按钮并困难,要使它们能够控制供应商表的记录移动,关键是要使用向导,并在向导中选择合适的动作和提示文本或图片。操作步骤:(1)单击“命令按钮”工具。(2)在窗体中单击要放置命令按钮的位置。(3)在弹出的命令按钮向导中选择类别为“窗体操作”、操作为“关闭窗体

19、”后单击“下一步”按钮。(4)在弹出的命令按钮向导中选择文本后单击“下一步”按钮。(5)在弹出的命令按钮向导中指定按钮的名称为“关闭窗体”后单击“完成”按钮。 (6)重复步骤(2)(5)并分别选择“记录浏览”类别下的“转至第一项记录”、“转至前一项记录”、“转至下一项记录”、“转至最后一项记录”,即可完成其他4个按钮的创建。选项卡和页可以使用“选项卡”控件以多页的形式分类组织、展示窗体记录源中的数据,这对于处理可分为两类或多类信息的窗体是特别有用的。 【例4-6】创建“雇员“窗体要求:用“选项卡”控件创建如图4-28和图4-29所示的,以“雇员”表为数据源“雇员“窗体。图4-28“雇员”窗体公

20、司信息选项卡 图4-29“雇员”窗体个人信息选项卡 操作步骤如下:在“设计”视图中新建以”雇员”表为数据源的窗体。在工具箱中,单击“选项卡控件”控件,然后单击要放置控件的窗体,将在窗体中添加有两页的选项卡控件。调整控件的位置和大小。先单击需要添加控件的页选项卡,按图4-28和图4-29从字段列表中将各字段拖曳至对应页面上,调整各个控件的位置和大小。双击“页1”选项卡,然后在“标题”属性中指定新名称“公司信息”。双击“页2”选项卡,然后在“标题”属性中指定新名称“个人信息”。添加窗体页眉/页脚,在页眉上添加雇员名字文本框并设置其是否锁定属性值为“是”。在页脚上添加5个命令按钮。请双击选项卡控件的

21、边框打开它的属性表,然后设置相应的属性改变选项卡标题的字体名、字号、字体样式等等。设置窗体的记录选定器属性值为“否”。 切换到“窗体”视图以测试控件,保存窗体为“雇员”。 图像、未绑定对象和绑定对象可以使用位图文件(后缀为 .bmp 或 .dib),图元文件(后缀为 .wmf 或 .emf)或其他图形文件,如 GIF 和 JPEG 文件来显示背景图像或绑定对象框、未绑定对象框或图像控件中的图像。(1)向窗体添加背景图片(2)使用图像控件来为窗体添加未绑定图片(3)使用未绑定对象控件来为窗体添加未绑定图片(4)使用绑定对象控件为窗体添加绑定图片控件的基本操作控件基本操作的具体方法见表44-1。对

22、控件进行对齐、大小、间距、相对位置设置的具体方法见表44-2在窗体中完成计算在窗体中,除了直接显示、编辑表记录中的数据,有时还要显示计算结果。窗体中的计算要在控件中完成,文本框是最常用来显示计算数值的控件类型,也可以使用任何有“控件来源”属性的控件。1)在窗体中进行计算,首先要添加相应的控件,然后进行属性设置。如果控件是文本框,则可以直接在控件中键入表达式。 对于任意控件,请确保选定了控件,单击工具栏上的“属性”按钮显示控件的属性表,在“控件来源”属性框中键入表达式或使用“表达式生成器”创建表达式。在计算控件中,每个表达式前都要加上等号 “=” 运算符。 如果在“控件来源”属性框中需要更多空间

23、来键入表达式,请按 SHIFT+F2 键来打开“显示比例”框。 如果是以查询为基础的窗体,可能要将表达式放入查询,而不是计算控件中。2)关于在子窗体中计算总计值并在主窗体上显示该总计值。可以使用具有子窗体的窗体来计算一组记录的总计值。主窗体及子窗体基于具有一对多关系的表。如果要计算订单小计,可以在子窗体的页脚中添加文本框,并且在该文本框的“控件来源”属性框中指定表达式。表达式使用 Sum 函数。例如,下列的表达式将计算在“订单”窗体中所有产品的总量:=Sum(数量*单价) 。如果要在主窗体上显示订单小计,可以在主窗体上创建文本框,使用表达式来引用子窗体上包含计算值的控件。可以在主窗体的文本框的

24、“控件来源”属性框中指定表达式:=子窗体名称.form!子窗体计算文本框名称。【例4-7】在例4-1所创建的“雇员与订单”窗体中添加计算文本框要求:在“雇员与订单”窗体页脚处添加一个文本框,计算并显示“雇员与订单子窗体2”子窗体中的销售合计,添加销售合计后的窗运行体界面如图4-34所示。图4-34 添加了销售总价的“雇员与订单”窗体分析:在主窗体显示销售合计的关键是在子窗体先添加计算合计的文本框,然后在主窗体设置一个文本框并将控件来源属性设置为对子窗体合计文本框的引用。操作步骤:(1)打开“雇员与订单子窗体2”子窗体,在窗体页脚添加一个“销售小计”文本框。(2)设置“销售小计”文本框的控件来源

25、属性为:“=Sum(销售价)”。(3)打开“雇员与订单子”窗体,在窗体页脚添加一个“销售总计”文本框。(4)设置“销售小计”文本框的控件来源属性为:“=雇员与订单子窗体2.Form!销售小计”(注:公式中的销售小计是子窗体中“销售小计”文本框的名字)。(5)保存窗体。子窗体的概念子窗体是窗体中的窗体。基本窗体称为主窗体,窗体中的窗体称为子窗体。在这类窗体中,主窗体和子窗体彼此链接,使得子窗体只显示与主窗体当前记录相关的记录(或称主窗体和子窗体同步)。主窗体可以包含任意数量的子窗体,还可以嵌套子窗体,最多可以嵌套七级子窗体。同时创建窗体与子窗体 可以利用“窗体向导”在创建窗体的同时创建子窗体,但

26、是在创建子窗体之前,要确保已正确设置了窗体数据源中的表的关系。【例4-8】创建图4-35所示的雇员与订单窗体。要求:利用“窗体向导”以雇员、订单、订单明细3表为数据源,创建一个“雇员与订单”主/子窗体如图4-35所示,用于显示某个雇员所有的订单,以及某指定订单的具体内容,且不能修改所浏览的数据。图4-35雇员与订单窗体分析:这个窗体全部在设计视图中创建过于麻烦,可先用窗体向导创建一个主/自窗体,然后在窗体设计视图中修改完成。操作步骤:1)创建窗体(1)在“新建窗体”对话框中,选择“窗体向导”选项。(2)在表/查询下拉列表框中选择雇员表,然后从可用字段中选择“雇员ID”、“名字”2个字段。(3)

27、在表/查询下拉列表框中选择订单表,然后从可用字段中选择“订单ID”、“订购日期”、“货主名称”、“货主地址”4个字段。(4)在表/查询下拉列表框中选择订单表,然后从可用字段中选择“订单ID”、“产品ID”、“销售价”、“数量”、“折扣”5个字段。(5)选择通过“通过雇员”的数据查看方式及“带有子窗体的窗体”选项。(6)确定主窗体的标题为“雇员与订单”,子窗体1的标题为“雇员与订单自窗体1”,子窗体2的标题为“雇员与订单自窗体2”,用样式为“标准”后单击“完成”按钮完成窗体的创建。2)修改窗体设计。(1)设置主窗体及主窗体中控件的属性:选中主窗体中的的雇员ID、名字、职务文本框及对应的标签6个控

28、件的属性,将它们的宽度属性设置为“1.5cm”,是否锁定属性设置为“是”。按图4-35排列这6个控件。双击主窗体选定器打开属性表,将窗体的“记录选定器”设为“否”。修改两个字窗体的提示标签为“订单”、“订单明细” 。(2)设置雇员与订单子窗体1子窗体的属性:双击雇员与订单子窗体1的窗体选定器打开属性表。取消导航条属性设为“否”、是否锁定属性设为“是”。调整子窗体的大小。(3)设置雇员与订单子窗体2子窗体的属性:双击雇员与订单子窗体2的窗体选定器打开属性表。修改是否锁定属性设为“是”。将窗体添加到已有的窗体中【例4-9】将已有的子窗体添加到主窗体中。要求:将创建完成的“雇员与订单”窗体中的“雇员

29、与订单子窗体2”子窗体删除,再将“雇员与订单子窗体2”添加到“雇员与订单”窗体。分析:为了保证子窗体存在,本例要求在主窗体中删除一个子窗体,然后再将其添加到主窗体中。要注意的是在主窗体中删除子窗体,并没有真正将其从数据库中删除,只是在主窗体中删除了一个子窗体对象。操作步骤:1)打开“雇员与订单”窗体的设计视图,选中“雇员与订单子窗体2”子窗体,按Delete键将其删除2)将“雇员与订单子窗体2”子窗体拖到“雇员与订单”窗体中并调整大小和位置完成操作。如何链接主窗体与子窗体主窗体和子窗体保持同步的关键是主窗体和子窗体彼此链接。用向导创建的子窗体,或者从“数据库”窗口中将窗体、表或查询拖动到另一个

30、窗体的方式来创建子窗体,如果同时满足一定条件,Access 将自动使主窗体和子窗体同步。如果因为某种原因, Access 没有自动链接主窗体与子窗体,可以自己链接窗体。 具体操作步骤如下:(1)在“设计”视图中打开主窗体。确保已选定了子窗体控件,然后单击工具栏上的“属性”按钮,以显示窗体控件的属性表。(2)在“链接子字段”和“链接主字段”属性框中,输入链接的字段或控件。要链接一个以上字段或控件,使用分号分隔字段或控件。如果输入了一个以上控件或字段的名称,必须在这两个属性中输入相同的名称次序。 (3)在“链接子字段” 属性框中,输入子窗体中每个链接字段的名称。(在此属性中,不能使用控件名称。)(

31、4)在“链接主字段” 属性框中,输入主窗体中每个链接字段或控件的名称。 (5)如果不能确定每个属性所链接的字段或控件,请单击与属性框相邻的“生成器”按钮,以打开“子窗体/子报表字段链接器”。 (6)切换到“窗体”视图,以测试链接。 创建含事件的窗体事件事件是一种特定的操作,在某个对象上发生或对某个对象发生,事件的发生通常是用户操作的结果。Access 可以响应多种类型的事件:鼠标单击、数据更改、窗体打开或关闭及许多其他类型的事件。使用事件过程或宏,可以为在窗体、控件上发生的事件添加自定义的事件响应。Access够很容易地运行事件响应代码以响应用户执行的操作。创建事件过程当将窗体、报表或控件的事

32、件属性设置为 事件过程 时, Access 将自动创建事件过程的模板。只需向窗体、报表或控件的特定事件中添加需要运行的代码即可。创建事件过程的步骤为:显示需创建对象的属性表。单击想触发某一过程的事件的事件属性。单击属性框旁的“生成器”,显示“选择生成器”对话框。双击“代码生成器”,在窗体模块或报表模块中显示事件过程的 Sub 和 End Sub 语句。这些语句用于定义或声明事件过程。 Access 自动地为窗体或报表模块中的每一对象和事件声明事件过程,并使用 Private 关键字指出该过程只能被同一模块中的其他过程所访问。 向事件过程中添加事件发生时要运行的代码。【例4-10】在窗体中添加事

33、件要求:在例4-8创建的“雇员与订单”窗体中,添加一个名位“输入代码”的文本框及提示标签,并为文本框添加一个更新后事件,要求在文本框内输入雇员代码后,自动在雇员表中找到该雇员的记录。分析:输入代码后由程序自动在相应的表中找到对应记录是一种常用的技术,本题的关键是设置一个更新后事件并为之编写相应的事件处理代码。事件过程的响应当为对象设置了某一事件过程后,今后窗体运行时,只要在该对象上发生该事件时,Access就会自动响应该事件,运行一次事件过程。窗体中的常用事件1)Windows事件2)Data 事件3)Focus 事件4)Keyboard 事件5)Mouse 事件6)Error 和 Timin

34、g 事件分析评价用“自动窗体”创建窗体简单方便,但不能对数据字段进行舍取。用窗体向导创建窗体,可对数据源,数据查看形式、等进行设定,可以创建出几乎所有类型的窗体。但是所创建的窗体不含有事件,很难满足窗体实际的使用要求。使用设计视图创建窗体,可以设计出任何所需要的窗体形式,但是单纯使用设计视图创来建窗体,创建过于麻烦。在实际的数据库应用系统开发过程中,将这几种方法交叉使用,可以得到最高的工作效率。如果在窗体中需要进行一些特殊的操作在窗体中适当地添加事件或宏,是非常重要的。在Access中尽管主窗体可以包含子窗体,也可以包含子窗体,而且能够根据需要包含7级子窗体。但是真要按照这个规则在一个窗体中去

35、创建7级子窗体一般没有任何实际意义。实际意义的。级数一般不宜过多。 职业工作站任务:在汽车销售系统中创建“订单”窗体如图4-38所示。“订单”窗体是一个比较复杂的窗体(以“订单查询”查询为数据源),它包含一个“订单子窗体”窗体(以“扩展订单明细”查询为数据源)。图4-38 “订单”窗体要求窗体具有以下功能:1)通过此窗体完成销售订单的输入,每张订单可以有多笔业务。2)通过组合框输入购货者、销售人、提货方式、付费方式、产品ID。3)当加入一张新订单时,自动将当前日期填入订购日期、将当前日期+4填入发货日期日期、将当前日期+8填入到货日期。4)在主窗体显示子窗体的购货合计金额。5)输入或修改一条购

36、货记录后,立即修改产品表中相应产品的的库存量,并立即在窗体中显示更新后的库存量。6)当选择一个客户后,要自动将客户公司的公司名称、地址、城市、邮编传到实际收货公司的对应字段中去。任务分析:这是一个比较复杂的任务,开始任务之前,请仔细观察、使用一下罗斯文数据库中的订单子窗体,其功能和本任务十分相似。功能要求分析:要求1)分析图4-38所示的“订单”窗体中涉及到多个表,但只含有一个主窗体和一个子窗体,如果直接使用表作为数据源,每使用一个表就需建立一个子窗体,不太合适。因此需要建立“订单查询”及“扩展订单明细”2个查询作为数据源。并用窗体向导快速创建一个带子窗体的主窗体。之后修改这个窗体最后完成任务

37、。要求2)分析可通过创建组合框完成,如果在建表时采用了查阅向导的字段,建立窗体时会自动为该字段建立组合框,如果是普通字段,需自行为该字段建立组合框。要求3)分析可以通过在控件属性中设置默认值属性为DATE()天数完成。使用默认值后,每当新添加一条记录时,会自动将所设默认值填入字段。当浏览记录时,则默认值不起作用。因此,可将订购日期的默认值设置为订单输入时的系统日期,发货日期比订货日期晚4天,到货日期比订购日期晚8天。当这些日期与实际不符时,由用户自行修改。要求4)分析可用本书4.4中介绍的在子窗体中计算总计值并在主窗体上显示该总计值的方法实现实现。要求5)分析本功需要设置三个事件在子窗体的“产

38、品ID”组合框控件中设置一个“更新后”事件。使得在输入或修改订单的过程中,当选择购买车名使“产品ID”改变以后,“更新后”事件得到响应来确定所选车辆的单价。在数量文本框中设置一个“进入”事件,其作用是当选中数量文本框时,将文本框中的值记录下来。在数量文本框中设置一个“更新后”事件,其作用是当文本框中的数量值发生变化时自动修改产品表中的“库存量”字段值。要求6)分析可以在主窗体的“客户ID”组合框控件中设置一个“更新后”事件,使窗体运行时,在输入或修改订单的过程中,当选择购货者使“客户ID”改变以后,“更新后”事件得到响应,从而实现功能要求。任务实现:1)创建查询2)利用向导创建窗体3)设定默认

39、日期4)添加计算控件5)设置组合框6)在设计视图中修改窗体7)设置“产品ID”组合框控件的“更新后”事件过程8)设置“数量”文本框控件的“进入”事件过程9)设置“数量”文本框控件的“更新后”事件过程10)设置“客户ID”组合框控件的“更新后”事件过程 本章小结窗体是Access数据库对象之一,是数据库与Access应用程序的接口。利用窗体,用户可以方便地录入、修改、查询数据库记录。窗体的数据源可以是表或查询,也可以没有数据源。窗体有6种类型:纵拦式窗体、表格式窗体、数据表窗体、主/子窗体、数据透视表窗体、图表窗体6种类型。窗体有5种视图:设计视图、窗体视图、数据表视图。窗体的创建有多种方法利用

40、“自动创建窗体”向导可以创建三种窗体:纵栏式窗体、表格式窗体和数据表式窗体。使用窗体向导创建窗体使用窗体设计视图创建窗体窗体中的所有信息都包含在控件中。控件是窗体用于显示数据、执行操作或装饰窗体的对象。窗体设计其实质是对各控件对象的设计,控件对象的设计主要通过属性设置来完成。属性主要分格式、数据、事件、其他四类。事件是一种特定的操作,在某个对象上发生或对某个对象发生。事件的发生通常是用户操作的结果。使用事件过程或宏,可以为在窗体、报表或控件上发生的事件添加自定义的事件响应。Access够很容易地运行事件响应代码以响应用户执行的操作。 主要概念和观念 主要概念窗体(p.2 ) 窗体的类型(p.4

41、 ) 窗体的视图(p.3 )窗体的组成(p.3 ) 窗体控件(p.4 ) 属性(p.10 ) 事件(p.26 ) 主要观念创建窗体 窗体控件的使用 控件的属性设置 在窗体中设计事件 简答题1)简述窗体的主要作用。2)简述控件的作用。3)简述绑定型和未绑定型控件的区别。4)简述控件属性对控件的影响。5)什么是事件? 技术应用1)要为图书馆管理系统创建一个“书籍归还”窗体,在该窗体中,可以首先查找借书的读者,当读者找到之后,将使用另外一个窗体显示该读者所有已经借阅的书籍,并且在该窗体中可以输入书籍的归还时间,这样就大大方便了操作。为此应创建什么类型的窗体?2)主窗体中如何引用子窗体中的控件?3)如

42、何为一个窗体更换数据源?4)控件中的“标题”和“名字”属性有何区别?5)利用窗体向导创建带有子窗体的窗体,设置窗体的数据源时,选定表或查询的先后对结果是否有影响? 单项操作训练1)创建汽车销售系统的客户窗体4-44所示。 图4-44汽车销售系统的客户窗体 2)以产品表为数据源,利用窗体向导创建一个产品窗体,如图4-45所示。图4-45 产品窗体综合操作训练创建汽车销售系统的“客户订单”窗体,如图4-46所示。该窗体由一个主窗体(“客户订单”)和两个子窗体(“客户订单子窗体1”、“客户订单子窗体2”)组成。“客户订单”窗体以“客户”表为数据源,“客户订单子窗体1”窗体以“订单” 表为数据源,“客户订单子窗体2” 窗体以“扩展订单明细”查询为数据源。要求:在主窗体中输入一个客户代码后,在“客户订单子窗体1”中显示该客户的所有订单,同时在“客户订单子窗体2”中显示“客户订单子窗体1”中所选中的某订单的所有明细记录,输入一个客户代码后,能够使“客户”表定位到所选的客户记录之上。图4-46“客户订单”窗体创建一个“自定义”窗体如图4-47所示。该窗体具有运行窗体、运行查询、运行报表、浏览数据访问页、执行应用程序等功能。练习中所用到的对象可自行确定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论