access二级中VBA课件辅导.pptx

上传人:赵** 文档编号:72527693 上传时间:2023-02-12 格式:PPTX 页数:99 大小:644.57KB
返回 下载 相关 举报
access二级中VBA课件辅导.pptx_第1页
第1页 / 共99页
access二级中VBA课件辅导.pptx_第2页
第2页 / 共99页
点击查看更多>>
资源描述

《access二级中VBA课件辅导.pptx》由会员分享,可在线阅读,更多相关《access二级中VBA课件辅导.pptx(99页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、AccessAccess程序程序设计设计文科计算机小公共课规划教材access二级中VBA课件辅导共99页,您现在浏览的是第1页!总总 目目 录录第第1章章 数据库基础数据库基础第第2章章 数据库和表数据库和表第第3章章 查询查询第第4章章 窗体窗体第第5章章 报表报表第第6章章 宏宏第第7章章 页页第第8章章 模块与模块与VBA程序设计程序设计第第9章章 二级公共基础知识二级公共基础知识 access二级中VBA课件辅导共99页,您现在浏览的是第2页!第第8章章 模块与模块与VBA程序设计程序设计【难重点】【难重点】u类模块及控件对象的代码表示类模块及控件对象的代码表示u运算符与表达式运算符

2、与表达式u选择结构的程序设计选择结构的程序设计u常用系统函数常用系统函数access二级中VBA课件辅导共99页,您现在浏览的是第3页!知识网络图知识网络图 access二级中VBA课件辅导共99页,您现在浏览的是第4页!单击进入代码编写单击进入代码编写access二级中VBA课件辅导共99页,您现在浏览的是第5页!说明说明事件过程事件过程Private Sub Command7_Click().End SubSub表示定义一个过程。表示定义一个过程。End Sub表示该过程的结尾处。表示该过程的结尾处。Command7_Click()表示过程名称,在表示过程名称,在access中,过程名为:

3、控件名称中,过程名为:控件名称_事事件名称件名称(),过程名后必须有一个,过程名后必须有一个()。Command7为为“退出退出”按钮的按钮的名称,名称,Click为单击事件。为单击事件。事件过程代码事件过程代码在在Private Sub Command7_Click()和和End Sub中间的几行代码为实现中间的几行代码为实现“退退出出”功能的功能的VBA代码,实现退出的具体代码为代码,实现退出的具体代码为DoCmd.Quit,其他代,其他代码用于错误处理。这些代码将在稍后详细介绍其作用。码用于错误处理。这些代码将在稍后详细介绍其作用。8.1 初识初识VBA编编access二级中VBA课件辅

4、导共99页,您现在浏览的是第6页!【例【例8.2】如果使用宏来响应控件对象事件,比如同】如果使用宏来响应控件对象事件,比如同样创建一个可退出样创建一个可退出access程序的按钮,可采用以程序的按钮,可采用以下步骤:下步骤:(1)创建一个宏,宏名为)创建一个宏,宏名为“退出系统退出系统”,操作选择,操作选择“Quit”。(2)创建一个窗体。在窗体上添加一个命令按钮)创建一个窗体。在窗体上添加一个命令按钮.(3)打开命令按钮属性窗口,切换到)打开命令按钮属性窗口,切换到“事件事件”选项选项页,单击其单击事件下拉框,在弹出的列表中选页,单击其单击事件下拉框,在弹出的列表中选择择“退出系统退出系统”

5、宏,如图宏,如图8.6 8.1 初识初识VBA编编access二级中VBA课件辅导共99页,您现在浏览的是第7页!表表8-1 部分事件过程部分事件过程对对象象事件事件说说明明格式格式窗体窗体Onload加加载时载时Private Sub Form_Load()OnUnload卸卸载时载时Private Sub Form_UnLoad()OnOpen打开打开时时Private Sub Form_Open()OnClose关关闭时闭时Private Sub Form_Close()OnClick单击时单击时Private Sub Form_Click()OnDblClick双双击时击时Privat

6、e Sub Form_DblClick(Cancel As Integer)报报表表OnOpen报报表打开表打开时时Private Sub Report_Open(Cancel As Integer)OnClose报报表关表关闭闭时时Private Sub Report_Close()access二级中VBA课件辅导共99页,您现在浏览的是第8页!文文本本框框BeforeUpdate内容更新前内容更新前Private Sub 对对象象_BeforeUpdate(Cancel As Integer)AfterUpdate内容更新后内容更新后Private Sub 对对象象_AfterUpdate

7、()OnEnter获获取焦点后取焦点后Private Sub 对对象象_Enter()OnGetFoucs获获取焦点取焦点时时Private Sub 对对象象_GotFocus()OnLostFoucs失去焦点失去焦点时时Private Sub 对对象象_LostFocus()OnChange内容更新内容更新时时Private Sub 对对象象_Change()access二级中VBA课件辅导共99页,您现在浏览的是第9页!模块模块模块是由模块是由VBA语言语言编写的程序的集合。编写的程序的集合。模块分类模块分类 1、类模块:和某窗、类模块:和某窗体或报表相关联体或报表相关联2、标准模块:独立

8、、标准模块:独立于窗体和报表于窗体和报表类模块类模块标准模块标准模块access二级中VBA课件辅导共99页,您现在浏览的是第10页!创建模块创建模块 类模块:类模块:对某个控件编写事件代码时就自动建立了对某个控件编写事件代码时就自动建立了 标准模块标准模块:1、在数据库窗口或、在数据库窗口或VBE窗口,执行菜单【插入窗口,执行菜单【插入】|【模块】命令。【模块】命令。2、在数据库窗口,单击【模块】对象,然后单、在数据库窗口,单击【模块】对象,然后单击【新建】按钮。击【新建】按钮。access二级中VBA课件辅导共99页,您现在浏览的是第11页!数据类型数据类型 数据数据类类型型存存储储空空间

9、间说说明明Boolean(布(布尔尔)2字字节节True或或falseByte(字(字节节)1字字节节用于存用于存储储二二进进制数,范制数,范围围:0255(028)Integer(整型)(整型)2字字节节整数,最高位是符号位,整数,最高位是符号位,类类型符型符“%”,如,如10、-10、10%Long(长长整型)整型)4字字节节整数,最高位是符号位,整数,最高位是符号位,类类型符型符“&”,如,如10&,123456&Single(单单精度)精度)4字字节节浮点数,精确度浮点数,精确度7位,位,类类型符型符“!”,如,如10.5!、10.5Double(双精度)(双精度)8字字节节浮点数,精

10、确度浮点数,精确度16位,位,类类型符型符“#”,如,如10.5#Currency(货币货币)8字字节节定点数或整数,用于定点数或整数,用于货币计货币计算,算,类类型符型符“”,如,如10.5Decimal(小数)(小数)14字字节节存存储储从从-1028-1 到到 1028-1 范范围围的数字的数字Date(日期)(日期)8字字节节日期文字日期文字须须以数字符号以数字符号“#”扩扩起来,例如,起来,例如,#January 1,2006#String(字符)(字符)字符字符长长度度对应对应表中文本数据表中文本数据类类型,定界符型,定界符为为“”,如,如123,weleObject(对对象)象)

11、4字字节节储储存存对对象地址来引用象地址来引用对对象象Variant(变变体)体)根据需要根据需要可以表示上述任何一种可以表示上述任何一种类类型型access二级中VBA课件辅导共99页,您现在浏览的是第12页!常量常量 在在VBA中需要反复使用的常数,为了便于记忆和维护,可以中需要反复使用的常数,为了便于记忆和维护,可以采用一个名字来表示即常量。采用一个名字来表示即常量。格式:格式:Public|Private Const 常量名常量名 as 数据类型数据类型=值值说明:说明:public只能用在标准模块中,表示该常量可以在所有模块只能用在标准模块中,表示该常量可以在所有模块中使用。中使用。

12、Private该常量只能声明它的模块中使用。该常量只能声明它的模块中使用。如:如:Public Const fine=0.1 说明:在标准模块中声明后,所有模块中都可以使用说明:在标准模块中声明后,所有模块中都可以使用pi常常量。量。access二级中VBA课件辅导共99页,您现在浏览的是第13页!二维数组二维数组二维数组由行列两维构成的,若将每行看成一个一维数组,二维数组由行列两维构成的,若将每行看成一个一维数组,二维数组可看成多个一维数组构成。二维数组可看成多个一维数组构成。(1)声明)声明格式:格式:Dim 数组名数组名(m1 to n1,m2 to n2)as 数据类型数据类型 n1、

13、m1维下标上下界,维下标上下界,n2、m2是第二维下标上下界,是第二维下标上下界,m1、m2都可以省略,如省略表示都可以省略,如省略表示0。举例举例Dim Matrix(3,4)As Integer(2)赋值)赋值Matrix(0,4)=20 access二级中VBA课件辅导共99页,您现在浏览的是第14页!运算符和表达式运算符和表达式(2)关系运算)关系运算 常用的比较操作符有:大于常用的比较操作符有:大于、小于、小于=、小于等于、小于等于=或不或不等于等于,表8-4 比较运算符运算符运算符功能功能例子例子结结果果小于小于1232Truefalse=小于等于小于等于2=23=大于等于大于等于

14、3=22=3truefalse大于大于3223truefalse不等于不等于3222truefalseaccess二级中VBA课件辅导共99页,您现在浏览的是第15页!表达式案例表达式案例【例【例8.4】判断表达式的结果】判断表达式的结果在在VBE窗口,运行菜单【视图】窗口,运行菜单【视图】|【立即窗口】命令,弹出如【立即窗口】命令,弹出如图图8.9立即窗口,输入立即窗口,输入“?”号,在问号后输入表达式,回号,在问号后输入表达式,回车后即可显示表达式结果。车后即可显示表达式结果。例:例:3*33/39根据优先级关系相当于:根据优先级关系相当于:(3*3)(3/3)图图8.9 立即窗口立即窗口

15、access二级中VBA课件辅导共99页,您现在浏览的是第16页!8.4 系统常用函数及对象系统常用函数及对象8.4.1 标准函数标准函数在在VBA中,提供了大量的内置函数,可以完成许多的操作,比如字符串中,提供了大量的内置函数,可以完成许多的操作,比如字符串函数函数Mid()、统计函数、统计函数Max()等。在编程是直接引用就可以了,非常方等。在编程是直接引用就可以了,非常方便。便。函数包含三个要素:函数名、参数、返回值。函数包含三个要素:函数名、参数、返回值。函数格式:函数格式:函数名函数名(参数列表参数列表)说明:说明:(1)参数列表表示用逗号隔开的值或表达式,不同函数的参数个数不同,)

16、参数列表表示用逗号隔开的值或表达式,不同函数的参数个数不同,有些函数没有参数。有些函数没有参数。(2)一般函数都有一个返回值,即函数的运算结果,通常函数的返回值)一般函数都有一个返回值,即函数的运算结果,通常函数的返回值的类型是固定的,且在调用时赋值给一个变量。的类型是固定的,且在调用时赋值给一个变量。系统函数按其功能主要分为:数学函数、日期函数、字符串函数、转换系统函数按其功能主要分为:数学函数、日期函数、字符串函数、转换函数。函数。系统提供了大量系统函数,可以在系统提供了大量系统函数,可以在VBE的立即窗口验证。的立即窗口验证。access二级中VBA课件辅导共99页,您现在浏览的是第17

17、页!2日期函数日期函数(1)当前日期函数)当前日期函数格式:格式:date()功能:返回系统当前日期功能:返回系统当前日期(2)当前时间函数)当前时间函数格式:格式:time()功能:返回系统当前时间功能:返回系统当前时间(3)当前日期时间函数)当前日期时间函数格式:格式:now()功能:返回系统的日期和时间功能:返回系统的日期和时间(4)取出年份函数)取出年份函数格式:格式:year(日期日期)功能:取出日期中的年份,整型功能:取出日期中的年份,整型Year(date()结果:返回系统日期中的年份结果:返回系统日期中的年份(5)取出日月份函数)取出日月份函数格式:格式:month(日期日期)

18、功能:取出括号日期中月份,整型。功能:取出括号日期中月份,整型。Month(date()结果:返回系统日期中的月份。结果:返回系统日期中的月份。access二级中VBA课件辅导共99页,您现在浏览的是第18页!3字符串函数字符串函数(7)删除左边空格)删除左边空格格式:格式:ltrim(字符串字符串)功能:删除字符串左边空格功能:删除字符串左边空格Ltrim(wele to beijing)结果:结果:wele to Beijing(8)删除右边空格)删除右边空格格式:格式:rtrim(字符串)(字符串)功能:删除字符串右边空格功能:删除字符串右边空格(9)删除两边空格)删除两边空格格式:格式

19、:trim(字符串字符串)功能:删除字符串开始和尾部空格。功能:删除字符串开始和尾部空格。(10)字符串查找)字符串查找格式:格式:instr(N,str1,str2)功能:在功能:在str1中从中从N位置开始查找位置开始查找str2,返回首次出现的位置,返回首次出现的位置,N可以省可以省略,省略表示总个字符开始查找。若找到返回所在位置整数,若找不略,省略表示总个字符开始查找。若找到返回所在位置整数,若找不到,返回值为到,返回值为0。Instr(wele to beijing,o)结果:结果:5说明:在说明:在wele to beijing中查找中查找o,返回,返回o所在位置所在位置Instr

20、(6,wele to beijing,o)结果:结果:10说明:在说明:在wele to beijing中从第中从第6个字符开始查找个字符开始查找o,返回,返回o所在位置所在位置access二级中VBA课件辅导共99页,您现在浏览的是第19页!6输入输出函数输入输出函数(1)InputBox在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的字符串。本框内容的字符串。格式:格式:InputBox(prompt,标题标题,默认值默认值,xpos,ypos)例:在图例:在图8.10立即窗口中输入:立即窗口中输入:

21、?inputbox(请输入姓名请输入姓名)弹出图弹出图8.11对话框,输入对话框,输入“王小风王小风”,单击,单击“确定确定”按钮,返回值为输入按钮,返回值为输入的值的值 access二级中VBA课件辅导共99页,您现在浏览的是第20页!7数据库函数数据库函数格式:格式:DLookup(expr,domain,criteria)expr一个表达式,用于标识需要返回其值的字段。它既可以是用于标识一个表达式,用于标识需要返回其值的字段。它既可以是用于标识表或查询中字段的字符串表达式,也可以是以该字段上的数据进行计表或查询中字段的字符串表达式,也可以是以该字段上的数据进行计算的表达式。算的表达式。d

22、omain可以是表名称或不需要参数的查询名称。可以是表名称或不需要参数的查询名称。criteria可选的字符串表达式,用于限制可选的字符串表达式,用于限制 DLookup 函数执行的数据范围。函数执行的数据范围。例如,例如,criteria 通常等价于通常等价于 SQL 表达式中的表达式中的 WHERE 子句,只是不含子句,只是不含 WHERE 关键字。关键字。例:在立即窗口中输入:例:在立即窗口中输入:?DLookup(密码密码,用户用户,用户号用户号=11038)返回值:返回值:wele说明:在说明:在“用户用户”表中查找表中查找“用户号用户号”为为“11038”的记录的的记录的“密码密码

23、”字字段值。段值。access二级中VBA课件辅导共99页,您现在浏览的是第21页!(2)switch函数函数格式:格式:Switch(条件条件1,表达式,表达式1,条件,条件2,表达式,表达式2,条件,条件N,表,表达式达式N)功能:从左边条件开始计算,若某个条件成立,函数的值就功能:从左边条件开始计算,若某个条件成立,函数的值就为该条件对应的表达式的值。为该条件对应的表达式的值。例:在立即窗口中输入:例:在立即窗口中输入:score=85?switch(score60,不及格不及格,score=85,优秀优秀)优秀优秀access二级中VBA课件辅导共99页,您现在浏览的是第22页!8.4

24、.2 DoCmd对象对象使用使用 DoCmd 对象的方法,可以从对象的方法,可以从 Visual Basic 运行运行 Microsoft Access 操操作。操作可以执行诸如关闭窗口、打开窗体和设置控件值等任务。作。操作可以执行诸如关闭窗口、打开窗体和设置控件值等任务。格式:格式:DoCmd.方法名方法名 参数列表参数列表在宏操作可实现的功能几乎都可以采用在宏操作可实现的功能几乎都可以采用DoCmd对象实现,对象实现,DoCmd对象的对象的方法名同功能相同的宏操作的操作名相同,并且所需要设置的参数及方法名同功能相同的宏操作的操作名相同,并且所需要设置的参数及顺序也相同。顺序也相同。例:打开

25、窗体例:打开窗体主体导航主体导航DoCmd.OpenForm 主体导航主体导航,acNormal 例:打开表例:打开表“图书图书”OpenTable 图书图书,acViewNormal,acEdit access二级中VBA课件辅导共99页,您现在浏览的是第23页!标号和标号和goto语句语句 格式:格式:Goto 标号标号标号标号:例如【案例例如【案例8.1】窗体中】窗体中“退出退出”命令按钮事件过程如下:命令按钮事件过程如下:Private Sub Command7_Click()On Error GoTo Err_Command7_Click DoCmd.QuitExit_Command

26、7_Click:Exit SubErr_Command7_Click:MsgBox Err.Description Resume Exit_Command7_ClickEnd Sub说明:说明:(1)有两个标签:)有两个标签:Exit_Command7_Click和和Err_Command7_Click。(2)如果出现运行错误,执行)如果出现运行错误,执行On Error GoTo Err_Command7_Click,从该处直接跳转到,从该处直接跳转到Err_Command7_Click处,而处,而DoCmd.Quit语句将不会被语句将不会被运行。运行。access二级中VBA课件辅导共99

27、页,您现在浏览的是第24页!案例案例窗体窗体“用户登录用户登录”代码实现。代码实现。【例【例8.6】窗体】窗体“用户登录用户登录”代码实现。代码实现。(1)功能说明:用户在文本框里输入用户编号)功能说明:用户在文本框里输入用户编号和对应密码,然后在数据表和对应密码,然后在数据表“用户用户”里查找,里查找,若用户编号存在且密码正确,登录成功,进入若用户编号存在且密码正确,登录成功,进入导航窗口导航窗口“主体导航主体导航”,若用户编号不存在,若用户编号不存在,提示提示“密码错误密码错误”。(2)运行界面见第四章图)运行界面见第四章图4.1所示。所示。access二级中VBA课件辅导共99页,您现在

28、浏览的是第25页!案例案例窗体窗体“用户登录用户登录”代码实现。代码实现。说明:说明:DLookup(“密码密码”,“用户用户”,“用户号用户号=”“”&userid&“”“”),函数中函数中密码密码、用户号用户号是是“用户用户”表中字段,表中字段,“用户用户”指表名,指表名,userid指文本框中输入的值。指文本框中输入的值。完整的含义是:完整的含义是:在在用户用户表中查找表中查找用户号用户号字段值为字段值为userid的记录所对应的的记录所对应的密码密码字段字段的值,若找到的值与用户输入的的值,若找到的值与用户输入的password相同,则登录成功,否则登相同,则登录成功,否则登录失败。录

29、失败。DoCmd.Close 关闭当前窗体,即用户登录窗体,然后关闭当前窗体,即用户登录窗体,然后DoCmd.OpenForm 主体导航主体导航,打开窗体,打开窗体“主体导航主体导航”。password=将密码文本框内容清空。将密码文本框内容清空。password.SetFocus,光标定位在密码文本框里。,光标定位在密码文本框里。MsgBox 密码错误!密码错误!,vbCritical,弹出一个消息框,显示,弹出一个消息框,显示“密码错误密码错误”。access二级中VBA课件辅导共99页,您现在浏览的是第26页!案例案例【例【例8.7】建立窗体】建立窗体“体重标准计算体重标准计算”。(1)

30、功能说明:用户输入身高(米)和体重(公斤),计)功能说明:用户输入身高(米)和体重(公斤),计算体重指数算体重指数BMI=身高身高/(体重(体重*体重),如体重),如BMI值区间为值区间为18,20,为标准体重,(,为标准体重,(20,23之间,体重正常,但应之间,体重正常,但应注意适量运动,(注意适量运动,(23,25之间,轻度肥胖,注意节食,之间,轻度肥胖,注意节食,超过超过25,为肥胖,应立即减肥。,为肥胖,应立即减肥。access二级中VBA课件辅导共99页,您现在浏览的是第27页!(3)设计步骤:)设计步骤:在数据库窗口中,执行【窗体】在数据库窗口中,执行【窗体】|【在设计视图【在设

31、计视图中创建窗体】命令。中创建窗体】命令。主要控件设计和属性见表主要控件设计和属性见表8-7。表表8-7健康指数计算控件属性健康指数计算控件属性控件名称控件名称标题标题说说明明title健康指数健康指数计计算算字体:楷体字体:楷体_GB2312,字号:,字号:24high文本框,文本框,输输入身高入身高weight文本框,文本框,输输入体重入体重result结结果果图图中中“轻轻度肥胖,注意度肥胖,注意节节食食”标签标签,设计设计初始化初始化时为时为“结结果果”Command1计计算算采用非向采用非向导导方式生成方式生成access二级中VBA课件辅导共99页,您现在浏览的是第28页!循环循环

32、fornext语句语句 格式:格式:For=初值初值To 末值末值 Step 步长步长 Exit For Next 说明:说明:执行过程如图执行过程如图8.20所示。所示。循环变量必须是数值型。循环变量必须是数值型。步长默认为步长默认为1。一般初值小于末值,如果初值大于末值,一般初值小于末值,如果初值大于末值,步长要为负数。步长要为负数。access二级中VBA课件辅导共99页,您现在浏览的是第29页!access二级中VBA课件辅导共99页,您现在浏览的是第30页!(4)程序代码:【计算】按钮的)程序代码:【计算】按钮的“单击单击”事件输入如下代码。事件输入如下代码。Private Sub

33、Command1_Click()For i=1 To Int(money/4)If i*4+(num-i)*3=Val(money)Then result.Caption=公鸡公鸡+CStr(i)+母鸡母鸡+CStr(num-i)Exit For End If Next i If i Int(money/4)Then result.Caption=此题无解此题无解 End IfEnd Subaccess二级中VBA课件辅导共99页,您现在浏览的是第31页!循环循环 do loop语句语句 格式格式1:Do while|until 条件表达式条件表达式Exit DoLoop格式格式2:DoExi

34、t DoLoop while|until 条件表达式条件表达式 说明:说明:图图8.15、图、图8.16分别是格式分别是格式1、格、格式式2的执行过程的执行过程格式格式1先判断后执行,格式先判断后执行,格式2先执先执行后判断,循环体内的语句至少行后判断,循环体内的语句至少执行一次。执行一次。While指明条件为真是执行循环指明条件为真是执行循环体内的语句,体内的语句,until则相反,条件则相反,条件为假时执行循环体语句。为假时执行循环体语句。如果没有如果没有while或或until,循环体,循环体中一定要有中一定要有exit do,否则循环无,否则循环无法结束。法结束。access二级中VB

35、A课件辅导共99页,您现在浏览的是第32页!案例案例【例【例8.9】建立窗体】建立窗体“桃子计算桃子计算”(1)功能说明:猴子天摘下若干个桃子,当即吃了)功能说明:猴子天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个;以后每天早上都一半,还不过瘾又多吃了一个;以后每天早上都吃了前一天的一半又多一个,到第吃了前一天的一半又多一个,到第N天早上想再天早上想再吃时,见只剩下一个桃子,若给定天数吃时,见只剩下一个桃子,若给定天数N,求天,求天共摘了多少桃子?。共摘了多少桃子?。access二级中VBA课件辅导共99页,您现在浏览的是第33页!(3)控件属性:主要控件如下,其他控件属性参见以前例子。

36、)控件属性:主要控件如下,其他控件属性参见以前例子。表表8-9控件名称控件名称标题标题说说明明title数学数学问题计问题计算算字体:楷体字体:楷体_GB2312,字号:,字号:24n文本框,文本框,输输入入钱总钱总数数result结结果果图图中中“1535”标签标签,设计设计初始化初始化时为时为“结结果果”或空或空Command1计计算算采用非向采用非向导导方式生成方式生成access二级中VBA课件辅导共99页,您现在浏览的是第34页!过程过程过程就是过程就是VBA代码单元,一个过程包含一系列代码单元,一个过程包含一系列VBA语句和方法。过程有两种形式:语句和方法。过程有两种形式:Sub(

37、子过程)(子过程)Function(函数过程)(函数过程)access二级中VBA课件辅导共99页,您现在浏览的是第35页!通用过程通用过程 通用过程独立于窗体和报表,能被多个窗体或报表调用通用过程独立于窗体和报表,能被多个窗体或报表调用编写通用过程:编写通用过程:(1)选择菜单【插入】)选择菜单【插入】|【模块】,插入一个新标准模块,同时进入【模块】,插入一个新标准模块,同时进入VBE编辑器界面。编辑器界面。(2)双击该标准模块,选择菜单【插入】)双击该标准模块,选择菜单【插入】|【过程】,出现图【过程】,出现图8.25。(3)选择类型)选择类型“子程序子程序”,在名称栏输入过程名称。,在名

38、称栏输入过程名称。(4)在生成的过程框架里输入代码即可完成。)在生成的过程框架里输入代码即可完成。access二级中VBA课件辅导共99页,您现在浏览的是第36页!案例案例【例【例8.10】创建一个标准模块,在模块中创】创建一个标准模块,在模块中创建一个通用过程建一个通用过程fine,创建一个窗体,创建一个窗体“罚金计算罚金计算”,调用该过程。调用该过程。(1)功能说明:编写一个通用过程)功能说明:编写一个通用过程fine(n),可根据,可根据图书归还过期天数图书归还过期天数n计算应缴罚金,然后在一个窗计算应缴罚金,然后在一个窗体模块中调用该模块。体模块中调用该模块。(2)程序界面图)程序界面

39、图8.26。(3)控件属性见表)控件属性见表8-10。access二级中VBA课件辅导共99页,您现在浏览的是第37页!4)编写过程:进入)编写过程:进入VBE界面,添加一个新的标准模块或在界面,添加一个新的标准模块或在选定一个已有的标准模块,执行菜单【插入】选定一个已有的标准模块,执行菜单【插入】|【过程】命【过程】命令,出现图令,出现图8.25,输入过程名,输入过程名“fine”,类型选择,类型选择“子程子程序序”,范围选择,范围选择“公共的公共的”,会在当前模块自动产生一个,会在当前模块自动产生一个过程过程fine(),对其进行修改,代码如下:,对其进行修改,代码如下:Public Su

40、b fine(n)Dim fine As Double fine=n*0.1 MsgBox 罚金罚金:+CStr(fine)+元元End Sub 说明:说明:fin(n),n为参数,在调用的时候赋给它一个值为参数,在调用的时候赋给它一个值过程没有返回值,过程没有返回值,access二级中VBA课件辅导共99页,您现在浏览的是第38页!事件过程事件过程 事件过程只能出用户动作或系统触发事件过程只能出用户动作或系统触发,是和某个窗体或报,是和某个窗体或报表关联表关联一个控件的事件过由该控件的实际名字、一个下划线和事一个控件的事件过由该控件的实际名字、一个下划线和事件名组成的。例如,如果希望在单击件

41、名组成的。例如,如果希望在单击个名称为个名称为“命令命令3”的命令选钮后,则调用事件过程的命令选钮后,则调用事件过程Private Sub 命令命令3_Click()。为某个对象创建事件过程的方法为:为某个对象创建事件过程的方法为:1)单击鼠标左键选定要添加事件过程的对象。)单击鼠标左键选定要添加事件过程的对象。2)单击鼠标右键或选择菜单【视图】)单击鼠标右键或选择菜单【视图】|【属性】,出现该【属性】,出现该对象的属性对话框。对象的属性对话框。3)选择【事件】选项,单击相应事件后的)选择【事件】选项,单击相应事件后的“”,进入,进入事件过程的代码编写。事件过程的代码编写。access二级中V

42、BA课件辅导共99页,您现在浏览的是第39页!案例案例【8.11】编写一个函数给定过期天数】编写一个函数给定过期天数计算应缴罚金,并创建一个窗体计算应缴罚金,并创建一个窗体“函数调用函数调用”调用该函数调用该函数。(1)功能说明:编写一个函数)功能说明:编写一个函数fine(n),可根据图书归还过期,可根据图书归还过期天数天数n计算应缴罚金,然后在一个窗体模块中调用该模块。计算应缴罚金,然后在一个窗体模块中调用该模块。(2)程序界面和【例)程序界面和【例8.10】中的图】中的图8.26一样。一样。(3)控件属性参见表)控件属性参见表8-10。(4)编写过程:进入)编写过程:进入VBE界面,添加

43、一个新的标准模块或界面,添加一个新的标准模块或在选定一个已有的标准模块,执行菜单【插入】在选定一个已有的标准模块,执行菜单【插入】|【过程】【过程】命令,出现图命令,出现图8.25,输入过程名,输入过程名“getFine”,类型选择,类型选择“函数函数”,范围选择,范围选择“公共的公共的”,会在当前模块自动产生一,会在当前模块自动产生一个过程个过程getFine(),对其进行修改,代码如下:,对其进行修改,代码如下:access二级中VBA课件辅导共99页,您现在浏览的是第40页!(5)调用过程,程序代码:【计算】按钮的)调用过程,程序代码:【计算】按钮的“单击单击”事件事件输入如下代码。输入

44、如下代码。Private Sub Command1_Click()Dim fine As Double fine=getFine(n)MsgBox 罚金罚金:+CStr(fine)+元元End Sub说明:说明:n为窗体上文本框名称,表示文本框中输入的值。为窗体上文本框名称,表示文本框中输入的值。fine=getFine(n)表示调用函数表示调用函数getFine,将,将n传递给传递给getFine,函数的返回值赋值给函数的返回值赋值给fine。access二级中VBA课件辅导共99页,您现在浏览的是第41页!2调用:调用:过程调用:过程调用:Call 过程名过程名(实参实参1,实参,实参2)

45、函数调用:函数调用:变量变量=函数名函数名(实参实参1,实参,实参2)比如:比如:Call p(1,2)1和和2均为实参均为实参Call p(x,y)x和和y均为实参均为实参access二级中VBA课件辅导共99页,您现在浏览的是第42页!Public sub p(n as integer,ByVal m as integer)n=3 m=4End sub结果:结果:单击命令按钮两个消息框的内容分别为:单击命令按钮两个消息框的内容分别为:3和和2分析:分析:p(n as integer,ByVal m as integer)中中n as integer的传递方式的传递方式为默认值即为为默认值即

46、为ByRef,m为值传递。为值传递。Call p(x,y)中个参数是地址传递,中个参数是地址传递,x将地址传递给将地址传递给n,即,即x和和n指向同一地址,在指向同一地址,在p过程中过程中n的值发生了变化,的值发生了变化,x的值自然的值自然随随n的变化。的变化。Call p(x,y)中第二个参数是值传递,将中第二个参数是值传递,将y的值赋值给的值赋值给m,y和和m存放在不同的内存区域,在过程存放在不同的内存区域,在过程p中中m的变化不会影响到的变化不会影响到y。access二级中VBA课件辅导共99页,您现在浏览的是第43页!出错处理出错处理 On Error GoTo 标号标号如果发生一个运

47、行时错误,则控件会跳到标号处,激活错误如果发生一个运行时错误,则控件会跳到标号处,激活错误处理程序,该标号应该和处理程序,该标号应该和On Error语句在同一过程中。语句在同一过程中。On Error Resume Next 忽略错误行,继续执行错误行下一条命令。忽略错误行,继续执行错误行下一条命令。On Error GoTo 0不使用错误处理程序。不使用错误处理程序。说明:说明:如果不使用如果不使用 On Error 语句,则任何运行时错误都是致命的;语句,则任何运行时错误都是致命的;也就是说,结果会导致显示错误信息并中止运行。也就是说,结果会导致显示错误信息并中止运行。access二级中

48、VBA课件辅导共99页,您现在浏览的是第44页!access二级中VBA课件辅导共99页,您现在浏览的是第45页!单步跟踪单步跟踪 当运行到某个断点后,选择【调试】当运行到某个断点后,选择【调试】|【逐语句【逐语句】或按下键【】或按下键【F8】,就可以使程序运行到下一行,】,就可以使程序运行到下一行,这样逐步检查程序的运行情况,直至找到问题所这样逐步检查程序的运行情况,直至找到问题所在。在。设置监视点设置监视点 access二级中VBA课件辅导共99页,您现在浏览的是第46页!access二级中VBA课件辅导共99页,您现在浏览的是第47页!8.8.1 数据访问对象数据访问对象DAO的模型结构

49、图图8.29 DAO分层结构分层结构access二级中VBA课件辅导共99页,您现在浏览的是第48页!在在vba中访问数据库的对象,要设置对中访问数据库的对象,要设置对DAO库的引库的引用,设置方法如下:用,设置方法如下:(1)进入)进入VBE环境。环境。(2)选择菜单)选择菜单“工具工具”|“引用引用”,打开引用对话,打开引用对话框,如图框,如图8.30。(3)从)从“可使用的引用可使用的引用”列表框中选择列表框中选择“Microsoft DAO 3.6 Object Library”选项。选项。(4)单击)单击“确定确定”按钮按钮 8.8.2 设置设置DAO库的引用库的引用access二级

50、中VBA课件辅导共99页,您现在浏览的是第49页!8.8.3 使用使用DAO访问数据库的方法访问数据库的方法使用使用DAO访问数据库有以下几个步骤:访问数据库有以下几个步骤:在在VBA 中使用中使用DAO 可以分以下几个步骤来操作可以分以下几个步骤来操作(1)首先创建)首先创建Workspace 工作区。工作区。Dim ws as Workspace 声明一个工作变量声明一个工作变量Set ws=DBEngine.Workspace(0)设置设置ws为默认工作区为默认工作区(2)然后打开)然后打开Database 数据库。数据库。Dim db as Database 设置数据库对象设置数据库对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁