第12章 VBA编程.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:21 大小:435KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第12章 VBA编程.ppt

第12章VBA编程.ppt

预览

免费试读已结束,剩余 11 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第12章VBA编程教学重点与难点12.1VBA编程环境下图为一个VBE窗口,窗口中的各个部分已经给出了相应标识。12.2VBA程序设计基础在VBA中,程序是由过程组成的,过程又由根据VBA规则书写的指令组成。一个程序包括常量、变量、运算符、语句、函数、数据库对象和事件等基本要素。常量变量数组VBA语言的数据类型包括布尔型(Boolean)、日期型(Date)、字符串(String)、货币型(Currency)、字节型(Byte)、整数型(Integer)、长整型(Long)、单精度型(Single)、双精度型(Double)以及变体型(Variant)和用户自定义型。12.3程序流程控制选择结构有If语句和SelectCase语句两种。If语句是一类比较简单的条件控制语句,可以通过紧跟在If后面的表达式的值,判断出在其影响范围下的语句是否被执行。如果在If语句中,一个表达式有多个可选值,并且需要为这些可选值建立不同的执行语句,例如选项组控件可以通过不同的值来判断选项组中到底是按下哪个按钮,这样的语句设计通过If语句不方便实现,这时就需要使用SelectCase语句。编程中经常要需要重复执行某些操作,这时就需要通过循环语句来判断并执行这些循环操作。VBA提供了多种循环控制语句,其中常用的包括Do…Loop语句、For…Next语句以及While…Wend语句等。Do…Loop语句For…Next语句While…Wend语句GoTo语句12.4Access对象模型VBA与传统语言的重要区别之一就是它是面向对象的。对象是VisualBasic程序设计的核心。事实上,窗体和控件都是对象,数据库也是对象,对象到处都存在。一旦理解如何引用应用程序对象模型中的对象,就能够使用对象及其特性来建立自己的解决方案。当然,也可以将对象理解为封装数据和代码的客体,它是代码和数据的集合。属性方法事件对象集合是一个包含几个其他对象的对象,而这些对象可具有不同的类型,并且对象的位置均可改变。Access窗体具有以下3种集合,如下图所示,其中填充色为灰色的表示集合。对象模型实际上给出了基于对象程序的结构,通过定义程序中所使用对象之间的关系,对象模型能够以一种比编程更容易的方式来组织对象。Access中的窗体模型包括的对象类型有:控件、集合和集合中的对象。窗体对象模型的每个元素都具有一系列的属性、方法和事件,可以利用方法使应用程序按照要求进行工作。在VBA中,各个对象之间也不是孤立的,而是彼此之间存在着包含与被包含的关系。12.5创建VBA模块Access模块有两种基本类型:类模块和标准模块。模块中的每一个过程都可以是一个Function过程或一个Sub过程。类模块标准模块过程是包含VBA代码的基本单位,可以完成一系列指定的操作。过程由计算的语句和方法组成,通常分为Sub过程、Function过程和Property过程。其中,Sub过程是最常用的过程类型,也称为命令宏,可以传送参数和使用参数来调用它,但不返回任何值;Function过程也称为自定义函数过程,其运行方式和使用程序的内置函数一样,即通过调用Function过程获得函数的返回值;Property过程能够处理对象的属性。Call语句用来调用过程,也可调用VisualBasic的函数和自定义函数,两者均采用如下的格式:[Call]name[argumentlist]其中name表示被调用过程的名称,argumentlist表示参数列表,各参数间必须以逗号隔开。在窗体过程(例如事件过程)中可以直接调用标准模块中的过程,但也可通过标准模块的名称来调用。在标准模块的过程中调用窗体模块中的过程时,必须以VisualBasic格式指出窗体名,例如“Form_员工信息.name”。12.6VBA代码的保护用户可以通过对VBA代码设置密码来防止其他非法用户查看或编辑数据库中的程序代码。除了使用密码保护VBA代码以外,还可以通过创建ACCDE文件保护程序代码。ACCDE文件是旧版本Access中的.mde文件的Access2007版本。