Access应用技术(第二版)课件第07章_第1页
Access应用技术(第二版)课件第07章_第2页
Access应用技术(第二版)课件第07章_第3页
Access应用技术(第二版)课件第07章_第4页
Access应用技术(第二版)课件第07章_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第7章

窗体对象功能设计本章学习目标:学习Access2007窗体对象功能分析方法学习并掌握VBE的使用方法学习并掌握在窗体设计视图中进行窗体对象功能程序设计的方法完成“零售商店管理信息系统”中三个主要窗体的功能设计模仿实例,自行完成“零售商店管理信息系统”中其他窗体的功能设计通过第6章的学习,我们掌握了Access2007数据库中窗体对象的界面设计方法。同时,通过实践实现了“商品进货数据录入”、“商品上柜数据录入”、“销售数据录入”和“零售商店管理信息系统”等四个窗体对象的界面设计,但是它们的功能尚未实现。因此,本章先来分析一下这些窗体应该具备一些什么样的功能。第7章窗体对象功能设计7.1窗体对象功能分析

Access2007数据库应用系统中的窗体对象主要用于形成人机操作界面,操作者将在这个界面上完成自己份内的工作。可以就第2章中分析得到的三个窗体对象进行功能分析。7.1.1“商品进货数据录入”窗体功能分析这个窗体提供的操作界面供商店管理人员使用,商店管理人员通过在这个窗体界面上的操作,完成进货数据(包括商品货号、商品名称、商品规格、计量单位、进货单价、进货数量等等)的录入。每一项进货数据输入完毕,都必须根据本次进货商品数据修改“库存数据记录”数据表中的对应数据(比如,库存数量=原库存数量+本次进货数量),以保证“库存数据记录”数据表中数据的正确性。同时,还应该记录的数据包括“进货日期”、“收货人”和“供货商”等数据。基于上述分析,需要在“商品进货数据录入”窗体对象中编写三段程序:“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”和“PrivateSubCommand47_Click()”。其中假定标签为“进货货号”的文本框“名称”属性值为“Text19”,位于窗体页脚中的“保存记录”命令按钮的“名称”属性值为“Command35”,位于窗体页脚中的“退出”命令按钮的“名称”属性值为“Command47”。7.1.1“商品进货数据录入”窗体功能分析这个窗体提供的操作界面也是供商店管理人员使用的,当商店管理人员在发现某些商品的柜存数量偏少时,必须将这些商品由库存中搬至销售柜台上。考察商品数据流,也就是减少“库存数据记录”数据表中的对应商品库存数据记录,并增加“柜存数据记录”数据表中的对应商品柜存数据记录。商店管理人员通过在这个窗体界面上的操作,完成上柜商品数据(包括商品货号、商品名称、商品规格、计量单位、销售单价、上柜数量等等)的录入。每一项上柜数据输入完毕,都必须根据实际输入的数据修改“库存数据记录”数据表中的对应数据(库存数量=原库存数量-本次上柜数量),以保证“库存数据记录”数据表中数据的正确性。同时,还应该修改“柜存数据记录”数据表中的对应数据(柜存数量=原柜存数量+本次上柜数量)。最后,还应该记录的数据包括“上柜日期”、“上柜人”和“营业员”等数据。7.1.2“商品上柜数据录入”窗体功能分析基于上述分析,需要在“商品上柜数据录入”窗体对象中编写四段程序:“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”、“PrivateSubCommand47_Click()”和“PrivateSubCommand63_Click()”。其中,假定标签为“商品货号”的文本框“名称”属性值为“Text19”,位于窗体页脚中的“保存数据”命令按钮的“名称”属性值为“Command35”,位于窗体页脚中的“退出”命令按钮的“名称”属性值为“Command47”,位于窗体页脚中的“查阅库存商品数据记录”命令按钮的“名称”属性值为“Command63”。7.1.2“商品上柜数据录入”窗体功能分析

营业员出售商品并将其出售商品的种类与数量等信息记录在“销售数据记录”数据表中,这一职责称为“销售数据录入”。从管理职能上讲,售货员仅有权以销售单价出售存放在销售柜台上的商品,无权访问库存商品记录。而任一商品的销售单价均由管理人员通过“商品上柜数据录入”操作予以指定,售货员无权更改。在为营业员设计操作方式时,可以这样考虑,营业员首先必须在位于“销售数据录入”窗体页眉中的标签为“销售日期”的文本框控件中输入当天的日期,而后在位于“销售数据录入”窗体页眉中的标签为“营业员”的组合框控件中选定自己的姓名。此时,位于“销售数据录入”窗体主体中的子数据表中显示该营业员当天的全部销售数据。7.1.3“销售数据录入”窗体功能分析基于上述分析,需要在“销售数据录入”窗体对象中编写五段程序:“PrivateSubCombo45_AfterUpdate()”、“PrivateSubText19_AfterUpdate()”、“PrivateSubCommand35_Click()”、“PrivateSubCommand47_Click()”和“PrivateSubText27_LostFocus()”。其中,假定位于窗体页眉中的标签为“营业员”的组合框“名称”属性值为“Combo45”,位于窗体页眉中的标签为“商品货号”的文本框“名称”属性值为“Text19”,位于窗体页脚中的“现金收讫”命令按钮的“名称”属性值为“Command35”,位于窗体页脚中的“退出”命令按钮的“名称”属性值为“Command47”,位于窗体页眉中的标签为“销售数量”的文本框“名称”属性值为“Text27”。除此之外,还需要为位于窗体页脚中的“柜存信息”命令按钮编写调用宏对象的方法,这将留待后续章节介绍。7.1.3“销售数据录入”窗体功能分析7.2Access2007编程环境

Access2007的编程环境为MicrosoftVisualBasicEditor(简称为VBE)。这是一个MicrosoftOffice套件软件公用的一个程序编辑系统,具有丰富的功能。7.2.1启动VBE

Access2007数据库中包含的程序创建与编辑调试环境均为VBE,但是启动VBE的方式可以不同。1.创建VBA程序模块所谓VBA程序模块是指包含在窗体、报表等数据库基本对象之中的事件处理方法,这样的程序模块仅在本对象处于活动状态下有效。例如,在上一节中分析得到的那些方法(程序)即属于这一类型。现以“商品进货数据录入”窗体对象中包含的VBA程序模块编写为例,说明启动VBE的方法。首先进入“商品进货数据录入”窗体设计视图;接着选定需要对之编写方法的对象,例如选定位于窗体页眉中标签为“进货货号”的文本框控件;单击“工具”逻辑组中的“属性标”按钮,随之出现这个文本框控件的属性表对话框,如图7-2-1所示。图7-2-1Text19文本框控件属性表对话框中的事件属性卡1.创建VBA程序模块由于Access2007中的程序实质上是处理相关事件的方法,因此需要选择属性对话框中的“事件”属性卡。观察图7-2-1所示,可以看到文本框控件可以处理的事件包括“单击”、“更新前”、“更新后”等等共17项,每一项事件的含义如同事件名称所述。为了编写位于“商品进货数据录入”窗体页眉中标签为“进货货号”的文本框控件处理“更新后”事件的VBA程序,应该在“Text19”文本框控件的“更新后”事件行右侧单击“生成器”按钮

,出现“选择生成器”对话框,如图7-2-2所示。1.创建VBA程序模块图7-2-2“选择生成器”对话框1.创建VBA程序模块图7-2-3VBE界面1.创建VBA程序模块2.编辑VBA程序模块如果已经在一个窗体中编写了一些VBA程序,需要对之进行修改编辑,当然也可以采用上述方式启动VBE。另外,还可以有一个更加方便的方式。在一个窗体对象设计视图中,单击“工具”逻辑组中的“查看代码”按钮,也可以启动VBE。采用这样的方式启动VBE,在VBE代码窗口中将显示当前选中的窗体对象包含的代码。在VBE代码窗口中,即可针对这个窗体对象包含的VBA程序代码实施编辑操作。7.2.2VBE界面在图7-2-3所示VBE界面的顶部,包含三行工具栏。自上而下,这三行工具栏分别为:(1)“标准”工具栏“标准”工具栏包含几个常用的菜单项快捷方式的按钮。(2)“编辑”工具栏“编辑”工具栏包含几个在编辑代码时经常使用的常用菜单项快捷方式的按钮。(3)“调试”工具栏“调试”工具栏包含了在调试代码中常用的菜单快捷方式的按钮。1.VBE工具栏2.VBE窗口

VBE使用多种不同窗口来显示不同对象或是完成不同任务。VBE中的窗口有:代码窗口、立即窗口、本地窗口、对象浏览器、工程资源管理器、属性窗口、工具箱、用户窗体窗口和监视窗口等。在VBE窗口的“视图”菜单中包括了用于打开各种窗口的菜单命令。下面分别介绍各种窗口的使用。7.2.2VBE界面(1)代码窗口图7-2-7VBE代码窗口2.VBE窗口图7-2-8立即窗口示例2.VBE窗口(2)立即窗口图7-2-9本地窗口2.VBE窗口(3)本地窗口图7-2-10监视窗口2.VBE窗口(4)监视窗口图7-2-11对象浏览器2.VBE窗口(5)对象浏览器图7-2-12工程资源管理器2.VBE窗口(6)工程资源管理器图7-2-13属性窗口2.VBE窗口(7)属性窗口7.3VBA程序设计基础

VBA数据类型继承了传统的Basic语言(如MicrosoftQuickBasic)的特点,在VBA应用程序中,也需要对变量的数据类型进行说明。VBA提供了较为完备的数据类型,Access2007数据表中的字段使用的主要数据类型在VBA中都有与之对应的类型。

VBA数据类型、类型声明符、数据类型和取值范围如表7-3-1所示。7.3.1数据类型常量是指在程序运行的过程中,其值不能被改变的量。常量的使用可以增加代码的可读性,并且使代码更加容易维护。此外,使用固有常量——MicrosoftAccess、MicrosoftforAccessApplications以及MicrosoftVisualBasic等支持的常量,可以保证即使常量所代表的基础值在MicrosoftAccess版本升级换代后也能使代码正常运行。除了直接常量(即通常的数值或字符串值常量,如:123,"Lee"等,也称为字面常量)外,MicrosoftAccess2007还支持三种类型的常量。符号常量:用Const语句创建,并且在模块中使用的常量。固有常量:是MicrosoftAccess2007或引用库的一部分。系统定义常量:True、False和Null。1.常量7.3.2常量、变量与数组2.变量

变量实际上是一个符号地址,它代表了命名的存储位置,包含在程序执行阶段修改的数据。每个变量都有变量名,在其作用域范围内可惟一识别。使用前可以指定数据类型(即采用显式声明),也可以不指定(即采用隐式声明)。7.3.2常量、变量与数组变量名必须以字母字符开头,在同一范围内必须是惟一的,不能超过255个字符,而且中间不能包含句点或类型声明字符。虽然在代码中允许使用未经声明的变量,但一个良好的编程习惯应该是在程序开始几行声明将用于本程序的所有变量。这样做的目的是为了避免数据输入的错误,提高应用程序的可维护性。对变量进行声明可以使用类型说明符号、Dim语句和DefType语句。2.变量(1)变量的声明2.变量表7-3-2DefType语句和相应的数据类型在声明变量作用域时可以将变量声明为Locate(本地)、Private(私有,Module模块级)或Public(公共)。

本地变量:仅在声明变量的过程中有效。在过程和函数内部所声明的变量,不管是否使用Dim语句,都是本地变量。本地变量具有在本地使用的最高优先级,即当存在与本地变量同名的模块级的私有或公共变量时,模块级的变量则被屏蔽。

私有变量:在所声明的模块中的所有函数和过程都有效。私有变量必须在模块的通用声明部分使用“Private变量名As数据类型”进行声明。

公共变量:在所有模块的所有过程和函数都可以使用。在模块通用声明中使用“Public变量名As数据类型”声明公共变量。2.变量(2)变量的作用域和生命周期2.变量模块对象模块APublicintA1asintegerPrivateintA2asintegerSubA1()本地变量私有变量intA2公共变量intA1,intB1EndSubSubA2()本地变量私有变量intA2公共变量intA1,intB1EndSub模块BPublicintB1asintegerPrivateintB2asintegerSubB1()本地变量私有变量intB2公共变量intB1,intA1EndSubSubB2()本地变量私有变量inBt2公共变量intB1,intA1EndSub图7-3-2变量作用域3.VBA数组

数组是由一组具有相同数据类型的变量(称为数组元素)构成的集合。(1)数组的声明在VBA中不允许隐式说明数组,用户可用Dim语句来声明数组,声明方式为:

Dim数组名(数组下标上界)As数据类型(2)数组的使用数组声明后,数组中的每个元素都可以当作单个变量来使用,其使用方法与相同类型的普通变量一样。其元素引用格式为:数组名(下标值表)7.3.2常量、变量与数组7.3.3运算符与表达式运算是对数据的加工,最基本的运算形式常常可以用一些简洁的符号来描述,这些符号称为运算符或操作符。VBA提供了丰富的运算符,可以构成多种表达式。表达式是许多MicrosoftAccess2007操作的基本组成部分,是运算符、常量、文字值、函数和字段名、控件和属性的任何组合,可以使用表达式作为很多属性和操作参数的设置;在窗体、报表和数据访问页中定义计算控件;在查询中设置准则或定义计算字段以及在宏中设置条件等等。算术运算符是常用的运算符,用来执行简单的算术运算。VBA提供了8个算术运算符,表6-7列出了这些算术运算符。在8个算术运算符中,除取负(-)是单目运算符外,其它均为双目运算符。加(+),减(-),乘(*),取负(-)等1.算术运算符与算术表达式

表6-7算术运算符

1.算术运算符与算术表达式

字符串连接(&)用来连接多个字符串(字符串相加)。例如:A$="My"B$="Home"C$=A$+B$运算结果为:变量C$的值为"MyHome"。在VBA中,“+”既可用作加法运算符,还可以用作字符串连接符,但“&”专门用作字符串连接运算符,其作用与“+”相同。在有些情况下,用“&”比用“+”可能更安全。2.字符串连接符与字符串表达式(1)关系运算符与关系表达式关系运算符也称比较运算符,用来对两个表达式的值进行比较,比较的结果是一个逻辑值,即真(True)或假(False)。用关系运算符连接两个算术表达式所组成的表达式叫做关系表达式。VBA提供了6个关系运算符,如表6-8所示。3.关系与逻辑运算符、逻辑表达式及其取值3.关系与逻辑运算符、逻辑表达式及其取值在VBA中,允许部分不同数据类型的量进行比较,但要注意其运算方法。关系运算符的优先次序如下:(1)=、<>或><的优先级别相同,<、>、>=、<=优先级别也相同,前两种关系运算符的优先级别低于后四种关系运算符。(最好不要出现连续的关系运算,可以考虑将其转化成多个关系表达式。)(2)关系运算符的优先级低于算术运算符。(3)关系运算符的优先级高于赋值运算符(=)。3.关系与逻辑运算符、逻辑表达式及其取值(2)逻辑运算符逻辑运算也称布尔运算,由逻辑运算符连接两个或多个关系式,组成一个布尔表达式。

VBA的逻辑运算符有表6-9所列6种:表6-10列出了逻辑运算真值表。3.关系与逻辑运算符、逻辑表达式及其取值3.关系与逻辑运算符、逻辑表达式及其取值表6-10逻辑运算真值表

3.关系与逻辑运算符、逻辑表达式及其取值(1)对象运算符对象运算表达式中使用!和.

两种运算符,使用对象运算符指示随后将出现的项目类型。①!运算符!运算符的作用是指出随后为用户定义的内容。使用!运算符可以引用一个开启的窗体、报表或开启窗体或报表上的控件。表9-7列出了3种引用方式。②.(点)运算符.(点)运算符通常指出随后为MicrosoftAccess定义的内容。例如,使用.(点)运算符可引用窗体、报表或控件等对象的属性。4.对象运算符与对象运算表达式(2)在表达式中引用对象在表达式中可以使用标识符来引用一个对象或对象的属性。例如,可以引用一个开启的报表的Visible属性:Reports![发货单]![货主国家].Visible,[发货单]引用“报表”集合中的“发货单”报表,[货主国家]引用“发货单”报表上的“运货商”控件。例如:将标签0的颜色设置为红

温馨提示

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

评论

0/150

提交评论