- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 VBA编程 ;教学重点与难点;12.1 VBA编程环境; 下图为一个VBE窗口,窗口中的各个部分已经给出了相应标识。 ;12.2 VBA程序设计基础; 在VBA中,程序是由过程组成的,过程又由根据VBA规则书写的指令组成。一个程序包括常量、变量、运算符、语句、函数、数据库对象和事件等基本要素。
常量
变量
数组 ; VBA语言的数据类型包括布尔型(Boolean)、日期型(Date)、字符串(String)、货币型(Currency)、字节型(Byte)、整数型(Integer)、长整型(Long)、单精度型(Single)、双精度型(Double)以及变体型(Variant)和用户自定义型。 ;12.3 程序流程控制; 选择结构有If语句和Select Case语句两种。
If语句是一类比较简单的条件控制语句,可以通过紧跟在If后面的表达式的值,判断出在其影响范围下的语句是否被执行。
如果在If语句中,一个表达式有多个可选值,并且需要为这些可选值建立不同的执行语句,例如选项组控件可以通过不同的值来判断选项组中到底是按下哪个按钮,这样的语句设计通过If语句不方便实现,这时就需要使用Select Case语句。 ; 编程中经常要需要重复执行某些操作,这时就需要通过循环语句来判断并执行这些循环操作。VBA提供了多种循环控制语句,其中常用的包括Do…Loop语句、For…Next语句以及While…Wend语句等。
Do…Loop语句
For…Next语句
While…Wend语句
GoTo语句 ;12.4 Access对象模型; VBA与传统语言的重要区别之一就是它是面向对象的。对象是Visual Basic程序设计的核心。事实上,窗体和控件都是对象,数据库也是对象,对象到处都存在。一旦理解如何引用应用程序对象模型中的对象,就能够使用对象及其特性来建立自己的解决方案。当然,也可以将对象理解为封装数据和代码的客体,它是代码和数据的集合。
属性
方法
事件 ; 对象集合是一个包含几个其他对象的对象,而这些对象可具有不同的类型,并且对象的位置均可改变。Access窗体具有以下3种集合,如下图所示,其中填充色为灰色的表示集合。 ; 对象模型实际上给出了基于对象程序的结构,通过定义程序中所使用对象之间的关系,对象模型能够以一种比编程更容易的方式来组织对象。
Access中的窗体模型包括的对象类型有:控件、集合和集合中的对象。
窗体对象模型的每个元素都具有一系列的属性、方法和事件,可以利用方法使应用程序按照要求进行工作。在VBA中,各个对象之间也不是孤立的,而是彼此之间存在着包含与被包含的关系。 ;12.5 创建VBA模块; Access模块有两种基本类型:类模块和标准模块。模块中的每一个过程都可以是一个Function过程或一个Sub过程。
类模块
标准模块; 过程是包含VBA代码的基本单位,可以完成一系列指定的操作。过程由计算的语句和方法组成,通常分为Sub过程、Function过程和Property过程。其中,Sub过程是最常用的过程类型,也称为命令宏,可以传送参数和使用参数来调用它,但不返回任何值;Function过程也称为自定义函数过程,其运行方式和使用程序的内置函数一样,即通过调用Function过程获得函数的返回值;Property过程能够处理对象的属性。 ; Call语句用来调用过程,也可调用Visual Basic的函数和自定义函数,两者均采用如下的格式:
[Call] name [argumentlist]
其中name表示被调用过程的名称,argumentlist表示参数列表,各参数间必须以逗号隔开。
在窗体过程(例如事件过程)中可以直接调用标准模块中的过程,但也可通过标准模块的名称来调用。在标准模块的过程中调用窗体模块中的过程时,必须以Visual Basic格式指出窗体名,例如“Form_员工信息.name”。;12.6 VBA代码的保护; 用户可以通过对VBA代码设置密码来防止其他非法用户查看或编辑数据库中的程序代码。 ; 除了使用密码保护VBA代码以外,还可以通过创建ACCDE文件保护程序代码。ACCDE文件是旧版本Access中的.mde 文件的Access 2007版本。
文档评论(0)