第8章模块与VBA编程基础课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第8章模块与VBA编程基础课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模块 VBA 编程 基础 课件
- 资源描述:
-
1、第第8章章 模块与模块与VBA编程基础编程基础考试大纲考试大纲VBA程序设计基础程序设计基础 1.面向对象程序设计的基本概念 2.模块的基本概念 (1)类模块 (2)标准模块 3.创建模块 (1)创建VBA模块 (2)编写常用事件代码 Click,Load,Init,GetFocus,LostFocus 4.VBA编程基础 (1)常量,变量,常用内部函数,表达式 (2)VBA程序流程控制:顺序控制,选择控制,循环控制 (3)过程的定义与调用:子过程,函数过程,参数传递 Contents模块的基本概念模块的基本概念创建模块创建模块VBA流程控制语句流程控制语句412VBA程序设计基础程序设计基础
2、35过程调用和参数传递过程调用和参数传递6VBA程序运行错误处理程序运行错误处理7VBA程序的调试程序的调试 模块是模块是Access数据库中的一个重数据库中的一个重要对象,它以要对象,它以VBA(Visual Basic for Applications)为基础编写以函为基础编写以函数过程(数过程(FunctionFunction)或子过程为单元)或子过程为单元的集合方式存储。的集合方式存储。Access中,模块分为中,模块分为类模块类模块和和标标准模块准模块两种类型。两种类型。8.1 模块的基本概念模块的基本概念*模块和宏区别“模块”和“宏”有什么区别?使用“宏”更加简单,不需要编程,而是
3、用“模块”,要求对编程有基本知识,比较复杂。“模块”的运行速度比较快,而“宏”运行速度比较慢。“宏”的每个基本操作在VBA中都有相应的等效命令,如果在“模块”中使用这些语句就可以实现所有的单独的“宏”命令,所以“模块”的功能比“宏”更加强大。类模块是含有类模块是含有类类定义的模块,包括其属性、定义的模块,包括其属性、事件和方法的定义。与窗体、报表、控件等紧密事件和方法的定义。与窗体、报表、控件等紧密关联,如:关联,如:都是都是类类模块模块。8.1.1 类模块类模块 8.1.1 类模块类模块 8.1.1 类模块类模块例:form1 标准模块作用是合理组织程序或控制程序执标准模块作用是合理组织程序
4、或控制程序执行流程,纯代码,不与任何对象(窗体、报表、行流程,纯代码,不与任何对象(窗体、报表、控件等)相关联,可放置在数据库中的任何位置,控件等)相关联,可放置在数据库中的任何位置,可以被工程内数据库对象调用。可以被工程内数据库对象调用。8.1.2 标准模块标准模块 标准模块中的标准模块中的公共变量和公共过程公共变量和公共过程具有局部特具有局部特性,其作用范围在整个应用程序里,而性,其作用范围在整个应用程序里,而生命周生命周期期则是伴随着应用程序的运行而开始,关闭而则是伴随着应用程序的运行而开始,关闭而结束。结束。8.1.2 标准模块标准模块8.1.2 标准模块标准模块例:form1uAcc
5、ess宏实质上就是宏实质上就是VBA程序,宏的操作都是由程序,宏的操作都是由VBA代代码实现的。码实现的。u宏的用法简单,上手容易,比较适合没有编程基础的用户宏的用法简单,上手容易,比较适合没有编程基础的用户开发普通应用程序。宏的不足是功能较弱、运行效率较差。开发普通应用程序。宏的不足是功能较弱、运行效率较差。u Access模块中内嵌的模块中内嵌的VBA功能强大,具有较完功能强大,具有较完 善的语法体系和强大的开发功能。它采用目前主流善的语法体系和强大的开发功能。它采用目前主流 的面向对象机制和可视化编程环境,适用于开发的面向对象机制和可视化编程环境,适用于开发 高级高级Access数据库应
6、用系统。数据库应用系统。8.1.3 将宏转换为模块将宏转换为模块 每一个宏操作都有自己对应的VBA代码,根据需要我们可以把宏转换为模块。8.1.3 将宏转换为模块将宏转换为模块 过程是模块的组成单元,由VBA代码编写而成。过程分两种类型:Sub子过程和Function函数过程。8.2 创建模块创建模块声明:声明(定义)变量声明:声明(定义)变量过程过程(若干个):过程是模块的组成单元,分若干个):过程是模块的组成单元,分2 2种:种:子子(Sub)(Sub)过程过程 子过程没有返回值,它的定义格式如下:子过程没有返回值,它的定义格式如下:其中的程序代码表示要完成的一系列操作。调用其中的程序代码
7、表示要完成的一系列操作。调用子过程用子过程用 8.2 创建模块创建模块 函数函数(Function)(Function)函数过程又称为函数过程又称为FunctionFunction过程,函数过程有返回过程,函数过程有返回值,它的值,它的定义格式如下。定义格式如下。调用函数过程时,调用函数过程时,。8.2 创建模块创建模块8.2 创建模块创建模块二二 在模块中执行宏在模块中执行宏 在模块的过程定义中,使用在模块的过程定义中,使用DocmdDocmd对象的对象的RunMacroRunMacro方法,方法,执行宏,其格式:执行宏,其格式:Docmd.RunMacro MacroName,Repeat
8、Count,RepeatExpressionDocmd.RunMacro MacroName,RepeatCount,RepeatExpression MacroNameMacroName:当前数据库中宏的名字;:当前数据库中宏的名字;RepeatCountRepeatCount:可选项,计算宏运行次数的整数值;:可选项,计算宏运行次数的整数值;RepeatExpressionRepeatExpression:可选项,数值表达式,在每次运:可选项,数值表达式,在每次运行宏时进行计算,结果为行宏时进行计算,结果为FalseFalse,停止运行宏。,停止运行宏。8.2 创建模块创建模块8.3 VB
9、A程序设计基础程序设计基础 VBA 是微软Office中的内置编程语言,其语法与VB的兼容,在Access程序设计中,当某些操作不能使用其他Access对象实现,或者实现较难时,就可利用VBA语言编写程序代码。8.3.1 8.3.1 面向对象程序设计的基本概念面向对象程序设计的基本概念1.集合(类)和对象集合(类)和对象 集合集合:含有相同属性的事物的总称成为集合,比如所有的:含有相同属性的事物的总称成为集合,比如所有的学生就构成一个集合(类)。学生就构成一个集合(类)。对象:对象:集合中的某一个实体,例如学生集合中的某一个学集合中的某一个实体,例如学生集合中的某一个学生就是一个对象。生就是一
10、个对象。在自然界中,一个对象就是一个实体,如一辆汽车就是一在自然界中,一个对象就是一个实体,如一辆汽车就是一个对象。在面向对象的程序设计中,对象代表应用程序中个对象。在面向对象的程序设计中,对象代表应用程序中的元素,如表、窗体、按钮等。的元素,如表、窗体、按钮等。Access有几十个对象,其中包括有几十个对象,其中包括对象和对象集合对象和对象集合。所有。所有对象和对象集合按对象和对象集合按层次结构层次结构组织,处在最上层的是组织,处在最上层的是Application对象对象,即,即Access应用程序,其他对象或对象应用程序,其他对象或对象集合都处在它的下层或更下层。集合都处在它的下层或更下层
11、。8.3.1 面向对象程序设计的基本概念2.属性和方法属性和方法 属性属性是对象的特征。如汽车有颜色和型号属性,按钮有标是对象的特征。如汽车有颜色和型号属性,按钮有标题和名称属性。对象的类别不同,属性会有所不同。同类题和名称属性。对象的类别不同,属性会有所不同。同类别对象的不同实例,属性也有差异。例如,同是命令按钮,别对象的不同实例,属性也有差异。例如,同是命令按钮,名称属性不允许相同。名称属性不允许相同。描述对象的性质和行为,引用方式:描述对象的性质和行为,引用方式:对象对象.属性属性或者或者对象对象.行为行为DoCmd对象对象:通过调用包含在内部的方法来实现通过调用包含在内部的方法来实现V
12、BA编程编程中对中对Access的操作。的操作。具体调用格式具体调用格式:DoCmd.OpenReportDoCmd.OpenReport “报表名报表名”,视图,视图,查询名称查询名称,条件条件 DoCmd.OpenReport“教师信息教师信息“Docmd是Access的一个特殊对象,用来调用内置方法,在程序中实现对Access的操作,诸如打开窗口、关闭窗体、打开报表、关闭报表等。DoCmd 对象的大多数方法都有参数,有些参数是必需的,有些则是可选的。若省略可选参数,参数将采用默认值。DocmdDocmd对象对象 (1)用DoCmd 对象打开窗体 格式:DoCmd.OpenForm 窗体名
13、 功能:用默认形式打开指定窗体。例如:DoCmd.OpenForm 文本框练习(2 2)用)用DoCmdDoCmd 对象关闭窗体对象关闭窗体 格式格式1 1:DoCmd.Close acFormDoCmd.Close acForm,窗体名窗体名 功能:关闭指定窗体。功能:关闭指定窗体。例如:例如:DoCmd.Close acFormDoCmd.Close acForm,文本框练习文本框练习 格式格式2 2:DoCmd.CloseDoCmd.Close 功能:关闭当前窗体。功能:关闭当前窗体。(3 3)用)用DoCmdDoCmd 对象打开报表对象打开报表 格式:格式:DoCmd.OpenRepo
14、rtDoCmd.OpenReport 报表名报表名,acViewPreview,acViewPreview 功能:用预览形式打开指定报表。功能:用预览形式打开指定报表。例如:例如:DoCmd.OpenReportDoCmd.OpenReport 工资报表工资报表,acViewPreview,acViewPreviewDocmdDocmd对象对象 (4)用DoCmd 对象关闭报表 格式1:DoCmd.Close acReport,报表名 功能:关闭指定报表。例如:DoCmd.Close acReport,工资报表 格式2:DoCmd.Close 功能:关闭当前报表。DocmdDocmd对象对象
15、(5)用DoCmd 对象运行宏 格式:DoCmd.RunMacro 宏名 功能:运行指定宏。例如:DoCmd.RunMacro 宏1(6)用DoCmd 对象退出Access。格式:DoCmd.Quit 功能:关闭所有Access对象和Access本身。DocmdDocmd对象对象 (1)在窗体中建立5个按钮名称分别为c1、c2、c3、c4、c5标题分别为“打开窗体”、“关闭窗体”、“打开报表”、“关闭报表”、“退出Access”。实例:使用实例:使用DoCmdDoCmd对象对象(2)c1代码:DoCmd.OpenForm 教师基本情况“(3)c2代码:DoCmd.Close acForm,教师
16、基本情况“(4)c3代码:DoCmd.OpenReport “按年龄段统计报表,acViewPreview(5)c4代码:DoCmd.Close acReport,按年龄段统计报表“(6)c5代码:DoCmd.Quit例:使用例:使用DoCmdDoCmd对象对象8.3.1 面向对象程序设计的基本概念面向对象程序设计的基本概念3.事件和事件过程事件和事件过程事件:Access窗体或者报表及其上控件等对象可以“辨识”的动作,如单击、双击、某一个按键等。事件过程:为某个事件编写VBA代码过程,来完成指定的动作。在类模块每一个过程的开始行,都显示对象名和事件名。如:Private Sub c1_Cli
17、ck()。例:动态设置控件属性(1)在窗体中建1个文本框名称为t1。(2)在窗体中建1个标签名称为b1标题为“欢迎你!”。(3)在窗体中建3个命令按钮名称分别为c1、c2、c3标题 分别为“红色”、“绿色”、“蓝色”。8.3.1 面向对象程序设计的基本概念面向对象程序设计的基本概念3.事件和事件过程事件和事件过程(4)设置各按钮的前景色,在属性窗口可查看颜色值。(5)c1的click事件代码:t1.BackColor=255 b1.ForeColor=255(6)c2的click事件代码:t1.BackColor=33792 b1.ForeColor=33792(7)c3的click事件代码:
18、t1.BackColor=16711680 b1.ForeColor=16711680 执行结果:8.3.2 VBE8.3.2 VBE编程环境编程环境1.进入进入VBE编辑环境编辑环境 类模块:类模块:1)定位窗体或者报表,单击工具栏)定位窗体或者报表,单击工具栏“代码代码”按钮;按钮;2)或者通过窗体、报表或者控件)或者通过窗体、报表或者控件“属性属性”窗口中窗口中“事件事件”选选项卡的项卡的“事件过程事件过程”项进入。项进入。标准模块:标准模块:1)已有模块已有模块,在数据库窗体选择,在数据库窗体选择“模块模块”对象,双击要查看对象,双击要查看的模块;的模块;2)新建模块新建模块,在数据库
19、窗体选择,在数据库窗体选择“模块模块”对象,单击对象,单击“新建新建”按钮;按钮;3)在数据库对象窗体中,单击)在数据库对象窗体中,单击“工具工具”菜单菜单“宏宏”“Visual basic Visual basic 编辑器编辑器”。工具栏工具栏8.3.2 Visual Basic编程环境编程环境 Access视图视图用于从用于从VBE切换到数据库窗口切换到数据库窗口插入模块插入模块插入新的模块插入新的模块运行子过程运行子过程/用户窗体用户窗体运行模块程序运行模块程序中断运行中断运行中断正在运行的程序中断正在运行的程序重新设置重新设置结束正在运行的程序,重新进入模块设计状态结束正在运行的程序,
20、重新进入模块设计状态设计模式设计模式进入和退出设计模式进入和退出设计模式工程资源管理器工程资源管理器打开工程资源管理器窗口打开工程资源管理器窗口属性窗口属性窗口打开属性窗口打开属性窗口对象浏览器对象浏览器打开对象浏览器窗口打开对象浏览器窗口 工程资源管理器,显示应用程序的所有模块文件。工程资源管理器,显示应用程序的所有模块文件。3 3个按钮:个按钮:按钮可以打开相应的代码窗口。按钮可以打开相应的代码窗口。按钮可以打开相应的对象窗口。按钮可以打开相应的对象窗口。可以隐藏或显示对象的分类文件夹。可以隐藏或显示对象的分类文件夹。代码窗口主要是用来编写、显示以及编辑代码窗口主要是用来编写、显示以及编辑
21、VBAVBA代码,代码,如下图所示。如下图所示。8.3.2 Visual Basic编程环境编程环境(3 3)代码窗口代码窗口对象浏览器对象浏览器快速访问子过程快速访问子过程自动显示提示信息自动显示提示信息F1F1帮助帮助代码窗口代码窗口 列出了所选对象的属性,由列出了所选对象的属性,由“对象对象”框和框和“属性属性”列表组列表组成。成。:用于列出当前所选的对象。用于列出当前所选的对象。:按字母或分类对对象属性进行排序按字母或分类对对象属性进行排序。可以在属性窗口中直接用前面用到的方法设置可以在属性窗口中直接用前面用到的方法设置 对象的属性(静态设置方法)。对象的属性(静态设置方法)。可以在代
22、码窗口中用可以在代码窗口中用VBAVBA代码编辑对象的属代码编辑对象的属 性(动态设置方法)。性(动态设置方法)。用来进行快速的表达式计算、简单方法的操作寄进行程序测用来进行快速的表达式计算、简单方法的操作寄进行程序测试的工作窗口。试的工作窗口。8.3.2 Visual Basic编程环境编程环境二、进入二、进入VBE编程环境编程环境VBE将模块分成对象、标准和类模块。进入其编辑环境有多种方式:一、对象模块:可以直接定位到窗体或报表,然后单击视图下的“代码”按钮进入;或定位到窗体、报表和控件上通过指定对象事件处理过程进入。其方法有两种:(1)右键单击控件对象,单击快捷菜单上的“事件生成器命令”
23、,打开“事件生成器”对话框,选择其中的“代码生成器”,单击“确定”按钮即可进入;(2)单击属性窗口的“事件”选项卡,选中某个事件直接单击属性右侧的“”按钮,打开“事件生成器”对话框,选择其中的“代码生成器”,单击“确定”按钮即可进入。二、进入二、进入VBE编程环境编程环境二、对于标准模块:有3种方法进入:(1)对于已存在的标准模块,只需从数据库窗体对象列表上选择“模块”,双击要查看的模块对象即可进入;(2)要创建新的标准模块,需要从数据库窗体对象列表上选择“模块”,单击工具栏上的“新建”按钮即可进入;(3)在数据库对象窗体中,选择“工具”菜单里“宏”子菜单的“Visual Basic编辑器”选
24、项即可进入。使用Alt+F11组合键,可以方便的在数据库窗口和VBE之间进行切换。三、三、VBE环境中编写环境中编写VBA代码代码 VBA代码是由语句组成的,一条语句就是一行代码。例如 intCount=3 将3赋值给变量intCount Debug.Print intCount 在立即窗口打印变量intCount的值3三、三、VBE环境中编写环境中编写VBA代码代码 Access的VBE编辑环境提供了完整的开发和调试工具。其中的代码窗口顶部包含两个组合框,左侧为对象列表,右侧为过程列表。操作时,从左侧组合框选定一个对象后,右侧过程组合框中会列出该对象的所有事件过程,再从该对象过程列表选项中选
25、择某个事件名称,系统会自动生成相应的事件过程模块,用户添加代码即可。双击工程窗口中的任何类或对象都可以在代码窗口中打开相应代码进行编辑处理 四、程序语句书写原则四、程序语句书写原则1 语句书写规定通常一个语句写在一行,若要分行用续行符”-”;”:“将一行中多条语句隔开;若语句中出现红色表示有错误。四、程序语句书写原则四、程序语句书写原则2 注释语句一个好的程序都要有注释语句。在VBA中使用下列格式:Rem 注释语句(单引号)注释语句 Rem 定义两个变量 Dim Str1,Str2 Str1=“beijing”Str2=“Shanghai”四、程序语句书写原则四、程序语句书写原则3 采用缩进格
展开阅读全文