access8第8章 模块与VBA程序设计.ppt
《access8第8章 模块与VBA程序设计.ppt》由会员分享,可在线阅读,更多相关《access8第8章 模块与VBA程序设计.ppt(99页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、AccessAccess程序程序设计设计文科计算机小公共课规划教材文科计算机小公共课规划教材总总 目目 录录第第1章章 数据库基础数据库基础第第2章章 数据库和表数据库和表第第3章章 查询查询第第4章章 窗体窗体第第5章章 报表报表第第6章章 宏宏第第7章章 页页第第8章章 模块与模块与VBA程序设计程序设计第第9章章 二级公共基础知识二级公共基础知识 第第8章章 模块与模块与VBA程序设计程序设计6【难重点难重点】u类模块及控件对象的代码表示类模块及控件对象的代码表示u运算符与表达式运算符与表达式u选择结构的程序设计选择结构的程序设计u常用系统函数常用系统函数知识网络图知识网络图【例例8.1
2、】用户登录窗体中用户登录窗体中“退出退出”按钮按钮VBA代码代码(1)查看查看“退出退出”命令按钮事件命令按钮事件(2)查看事件代码查看事件代码 8.1 初识初识VBA编编单击进入代码编写单击进入代码编写说明说明事件过程事件过程Private Sub Command7_Click().End SubSub表示定义一个过程。表示定义一个过程。End Sub表示该过程的结尾处。表示该过程的结尾处。Command7_Click()表示过程名称,在表示过程名称,在access中,过程名为:控件名称中,过程名为:控件名称_事事件名称件名称(),过程名后必须有一个,过程名后必须有一个()。Command7
3、为为“退出退出”按钮的名按钮的名称,称,Click为单击事件。为单击事件。事件过程代码事件过程代码在在Private Sub Command7_Click()和和End Sub中间的几行代码为实现中间的几行代码为实现“退退出出”功能的功能的VBA代码,实现退出的具体代码为代码,实现退出的具体代码为DoCmd.Quit,其他代,其他代码用于错误处理。这些代码将在稍后详细介绍其作用。码用于错误处理。这些代码将在稍后详细介绍其作用。8.1 初识初识VBA编编8.1.1 窗体事件窗体事件事件事件(event):是发生在控件对象上且可以辨认的动:是发生在控件对象上且可以辨认的动作,如像单击鼠标或按下某键
4、等,并且可以写某作,如像单击鼠标或按下某键等,并且可以写某些代码来响应此述动作。些代码来响应此述动作。对事件的响应一般有两种方法,一种方法是使用宏对事件的响应一般有两种方法,一种方法是使用宏来响应控件对象事件,另一种方法是编写来响应控件对象事件,另一种方法是编写VBA代代码过程。码过程。8.1 初识初识VBA编编【例例8.2】如果使用宏来响应控件对象事件,比如同如果使用宏来响应控件对象事件,比如同样创建一个可退出样创建一个可退出access程序的按钮,可采用以程序的按钮,可采用以下步骤:下步骤:(1)创建一个宏,宏名为)创建一个宏,宏名为“退出系统退出系统”,操作选择,操作选择“Quit”。(
5、2)创建一个窗体。在窗体上添加一个命令按钮)创建一个窗体。在窗体上添加一个命令按钮.(3)打开命令按钮属性窗口,切换到)打开命令按钮属性窗口,切换到“事件事件”选项选项页,单击其单击事件下拉框,在弹出的列表中选页,单击其单击事件下拉框,在弹出的列表中选择择“退出系统退出系统”宏,如图宏,如图8.6 8.1 初识初识VBA编编表表8-1 部分事件过程部分事件过程对对象象事件事件说说明明格式格式窗体窗体Onload加加载时载时Private Sub Form_Load()OnUnload卸卸载时载时Private Sub Form_UnLoad()OnOpen打开打开时时Private Sub F
6、orm_Open()OnClose关关闭时闭时Private Sub Form_Close()OnClick单击时单击时Private Sub Form_Click()OnDblClick双双击时击时Private Sub Form_DblClick(Cancel As Integer)报报表表OnOpen报报表打开表打开时时Private Sub Report_Open(Cancel As Integer)OnClose报报表关表关闭闭时时Private Sub Report_Close()命命令令按按钮钮OnClick单击单击按按钮时钮时Private Sub Command1_Click
7、()OnDblClick双双击击按按钮时钮时Private Sub 对对象象_DblClick(Cancel As Integer)MouseUp鼠鼠标释标释放放时时Private Sub对对象象_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)MouseDown鼠鼠标标按下按下时时Private Sub对对象象_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)MouseMove鼠鼠标标移移动时动时Private Sub
8、对对象象_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)文文本本框框BeforeUpdate内容更新前内容更新前Private Sub 对对象象_BeforeUpdate(Cancel As Integer)AfterUpdate内容更新后内容更新后Private Sub 对对象象_AfterUpdate()OnEnter获获取焦点后取焦点后Private Sub 对对象象_Enter()OnGetFoucs获获取焦点取焦点时时Private Sub 对对象象_GotFocus()OnLostFoucs
9、失去焦点失去焦点时时Private Sub 对对象象_LostFocus()OnChange内容更新内容更新时时Private Sub 对对象象_Change()VBA编程环境(编程环境(VBE)进入进入VBE可以选择以下几种可以选择以下几种方式:方式:(1)将某个对象的某个事)将某个对象的某个事件设为件设为事件过程事件过程,如图,如图8.4所示,单击右侧的所示,单击右侧的“”。(2)在窗体或报表的)在窗体或报表的【设设计视图计视图】中单击工具栏上中单击工具栏上的的【代码代码】按钮。按钮。(3)在数据库窗口中,单)在数据库窗口中,单击菜单击菜单【工具工具】|【宏宏】|【Visual Basic
10、编辑器编辑器】命令。命令。(4)选择数据库模块对象,)选择数据库模块对象,单击数据库窗口中单击数据库窗口中【新建新建】或者双击其中一个已经或者双击其中一个已经存在的模块对象存在的模块对象 VBE模块模块模块是由模块是由VBA语言语言编写的程序的集合。编写的程序的集合。模块分类模块分类 1、类模块:和某窗、类模块:和某窗体或报表相关联体或报表相关联2、标准模块:独立、标准模块:独立于窗体和报表于窗体和报表类模块类模块标准模块标准模块将宏转化为模块将宏转化为模块 宏的每个操作都有对应的宏的每个操作都有对应的VBA语句,因此可语句,因此可以将宏转化为模块,加快运行速度。以将宏转化为模块,加快运行速度
11、。图图8.8“转换宏转换宏”对话框对话框标准模块名标准模块名创建模块创建模块 类模块:类模块:对某个控件编写事件代码时就自动建立了对某个控件编写事件代码时就自动建立了 标准模块标准模块:1、在数据库窗口或、在数据库窗口或VBE窗口,执行菜单窗口,执行菜单【插入插入】|【模块模块】命令。命令。2、在数据库窗口,单击、在数据库窗口,单击【模块模块】对象,然后单对象,然后单击击【新建新建】按钮。按钮。VBA编程基础编程基础1、注释、注释格式格式1:rem 注释内容注释内容格式格式2:注释内容注释内容说明:说明:“”为英文符号单引号为英文符号单引号2、连写、连写如果要在同一行上书写多条语句,需要使用如
12、果要在同一行上书写多条语句,需要使用“:”号分隔不号分隔不同的语句。同的语句。3、换行、换行一条语句太长,可以将该语句写成几行,在换行处加空白加一条语句太长,可以将该语句写成几行,在换行处加空白加下划线下划线(_)。数据类型数据类型 数据数据类类型型存存储储空空间间说说明明Boolean(布(布尔尔)2字字节节True或或falseByte(字(字节节)1字字节节用于存用于存储储二二进进制数,范制数,范围围:0255(028)Integer(整型)(整型)2字字节节整数,最高位是符号位,整数,最高位是符号位,类类型符型符“%”,如,如10、-10、10%Long(长长整型)整型)4字字节节整数
13、,最高位是符号位,整数,最高位是符号位,类类型符型符“&”,如,如10&,123456&Single(单单精度)精度)4字字节节浮点数,精确度浮点数,精确度7位,位,类类型符型符“!”,如,如10.5!、10.5Double(双精度)(双精度)8字字节节浮点数,精确度浮点数,精确度16位,位,类类型符型符“#”,如,如10.5#Currency(货币货币)8字字节节定点数或整数,用于定点数或整数,用于货币计货币计算,算,类类型符型符“”,如,如10.5Decimal(小数)(小数)14字字节节存存储储从从-1028-1 到到 1028-1 范范围围的数字的数字Date(日期)(日期)8字字节节
14、日期文字日期文字须须以数字符号以数字符号“#”扩扩起来,例如,起来,例如,#January 1,2006#String(字符)(字符)字符字符长长度度对应对应表中文本数据表中文本数据类类型,定界符型,定界符为为“”,如,如123,welcomeObject(对对象)象)4字字节节储储存存对对象地址来引用象地址来引用对对象象Variant(变变体)体)根据需要根据需要可以表示上述任何一种可以表示上述任何一种类类型型变量变量 声明变量声明变量 格式:格式:dim 变量名变量名 as数据类型数据类型 说明:如果有说明:如果有as 数据类型选项,该变量只能储存该类型的值,否则可数据类型选项,该变量只能
15、储存该类型的值,否则可以是任何类型。以是任何类型。如:如:Dim userid as stringDim x as integer,y as integerDim i说明:第二条语句同时声明了两个变量;说明:第二条语句同时声明了两个变量;i为变体类型,可以储存任为变体类型,可以储存任何类型数据。何类型数据。变量赋值变量赋值 userid=11080 X=1改变变量的值改变变量的值X=x+1说明:将说明:将x的值增加的值增加1常量常量 在在VBA中需要反复使用的常数,为了便于记忆和维护,可以中需要反复使用的常数,为了便于记忆和维护,可以采用一个名字来表示即常量。采用一个名字来表示即常量。格式:格
16、式:Public|Private Const 常量名常量名 as 数据类型数据类型=值值说明:说明:public只能用在标准模块中,表示该常量可以在所有模块只能用在标准模块中,表示该常量可以在所有模块中使用。中使用。Private该常量只能声明它的模块中使用。该常量只能声明它的模块中使用。如:如:Public Const fine=0.1 说明:在标准模块中声明后,所有模块中都可以使用说明:在标准模块中声明后,所有模块中都可以使用pi常常量。量。数组数组 1、声明数组、声明数组格式:格式:Dim 数组名数组名(n)as 数据类型数据类型 Dim 数组名数组名(m to n)as 数据类型数据类
17、型 n是数组的下标上界,是数组的下标上界,m是数组的下标下界,是数组的下标下界,m可以省略,如省略表示可以省略,如省略表示0,数组共有,数组共有n-m+1个元素。个元素。举例举例 Dim a(2 to 5)as integer说明:共有数组说明:共有数组 a(2)、a(3)、a(4)、a(5)四个元素四个元素Dim b(5)as integer说明:共有数组说明:共有数组b(0)、b(1)、b(2)、b(3)、b(4)、b(5)六个元素六个元素赋值赋值a(2)=10说明:将说明:将10赋值给赋值给a(2)元素元素 二维数组二维数组二维数组由行列两维构成的,若将每行看成一个一维数组,二维数组由行
18、列两维构成的,若将每行看成一个一维数组,二维数组可看成多个一维数组构成。二维数组可看成多个一维数组构成。(1)声明)声明格式:格式:Dim 数组名数组名(m1 to n1,m2 to n2)as 数据类型数据类型 n1、m1第一维下标上下界,第一维下标上下界,n2、m2是第二维下标上下界,是第二维下标上下界,m1、m2都可以省略,如省略表示都可以省略,如省略表示0。举例举例Dim Matrix(3,4)As Integer(2)赋值)赋值Matrix(0,4)=20 运算符和表达式运算符和表达式(1)算术运算:算术运算符有:)算术运算:算术运算符有:、*、/、mod、+、-、表8-3 数字运算
19、符和字符运算符运算符运算符功能功能例子例子结结果果+两个数相加两个数相加5+1015-两个数相减两个数相减10-55*两个数相乘两个数相乘3*515/用一个数除以另一个数用一个数除以另一个数10/42.5用一个整数数除以另一个数用一个整数数除以另一个数1042指数运算指数运算238mod对对两个数作除法并且只返回余两个数作除法并且只返回余数数21 mod 21&两个字符串两个字符串连连接在一起接在一起北京北京&2008北京北京2008运算符和表达式运算符和表达式(2)关系运算)关系运算 常用的比较操作符有:大于常用的比较操作符有:大于、小于、小于=、小于等于、小于等于=或不或不等于等于,表8-
20、4 比较运算符运算符运算符功能功能例子例子结结果果小于小于1232Truefalse=小于等于小于等于2=23=大于等于大于等于3=22=3truefalse大于大于3223truefalse不等于不等于3222truefalse运算符和表达式运算符和表达式(3)逻辑运算)逻辑运算 逻辑运算是对真或假的运算,产生逻辑值(真或假)。逻辑运算是对真或假的运算,产生逻辑值(真或假)。优先级关系:优先级关系:notandorxor表8-5 逻辑运算符运算符运算符功能功能例子例子结结果果And逻辑逻辑与与True And TrueTrue And FalseFalse And FalseTrueFals
21、eFalseOr逻辑逻辑或或True or TrueTrue or FalseFalse or FalseTrueTrueFalseNot逻辑逻辑非非Not True Not FalseFalseTrue表达式案例表达式案例【例例8.4】判断表达式的结果判断表达式的结果在在VBE窗口,运行菜单窗口,运行菜单【视图视图】|【立即窗口立即窗口】命令,弹出如命令,弹出如图图8.9立即窗口,输入立即窗口,输入“?”号,在问号后输入表达式,回号,在问号后输入表达式,回车后即可显示表达式结果。车后即可显示表达式结果。例:例:3*33/39根据优先级关系相当于:根据优先级关系相当于:(3*3)(3/3)图图
22、8.9 立即窗口立即窗口表表8-6 表达式举例表达式举例表达式表达式结果结果说明说明江小青江小青张小民张小民false字符串比较按照字母顺序比较,汉字按其拼音字符串比较按照字母顺序比较,汉字按其拼音对应的字母顺序。对应的字母顺序。12 mod 5.42对第二个数进行四舍五入后求余对第二个数进行四舍五入后求余102 and 102True优先级相当于:优先级相当于:(102)and(102)3*33/39根据优先级关系相当于:根据优先级关系相当于:(3*3)(3/3)8.4 系统常用函数及对象系统常用函数及对象8.4.1 标准函数标准函数在在VBA中,提供了大量的内置函数,可以完成许多的操作,比
23、如字符串中,提供了大量的内置函数,可以完成许多的操作,比如字符串函数函数Mid()、统计函数、统计函数Max()等。在编程是直接引用就可以了,非常方等。在编程是直接引用就可以了,非常方便。便。函数包含三个要素:函数名、参数、返回值。函数包含三个要素:函数名、参数、返回值。函数格式:函数格式:函数名函数名(参数列表参数列表)说明:说明:(1)参数列表表示用逗号隔开的值或表达式,不同函数的参数个数不同,)参数列表表示用逗号隔开的值或表达式,不同函数的参数个数不同,有些函数没有参数。有些函数没有参数。(2)一般函数都有一个返回值,即函数的运算结果,通常函数的返回值)一般函数都有一个返回值,即函数的运
24、算结果,通常函数的返回值的类型是固定的,且在调用时赋值给一个变量。的类型是固定的,且在调用时赋值给一个变量。系统函数按其功能主要分为:数学函数、日期函数、字符串函数、转换系统函数按其功能主要分为:数学函数、日期函数、字符串函数、转换函数。函数。系统提供了大量系统函数,可以在系统提供了大量系统函数,可以在VBE的立即窗口验证。的立即窗口验证。1数字函数数字函数(1)求绝对值)求绝对值格式:格式:Abs(数值数值)功能:返回参数的绝对值功能:返回参数的绝对值Abs(-10)结果:结果:10(2)取整部分)取整部分格式:格式:int(数值数值)功能:返回不大于参数的最大整数部分功能:返回不大于参数的
25、最大整数部分Int(13.4)结果:结果:13Int(13.6)结果:结果:13Int(-13.6)结果:结果:-14(3)取整数部分函数)取整数部分函数格式:格式:fix(数值数值)功能:参数的整数部分功能:参数的整数部分Fix(13.4)结果:结果:13Fix(13.6)结果:结果:13Fix(-13.6)结果:结果:-134)随机函数)随机函数格式:格式:rnd(数值数值)功能:产生一个功能:产生一个01的随机数的随机数2日期函数日期函数(1)当前日期函数)当前日期函数格式:格式:date()功能:返回系统当前日期功能:返回系统当前日期(2)当前时间函数)当前时间函数格式:格式:time
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- access8第8章 模块与VBA程序设计 access8 模块 VBA 程序设计
限制150内