《AccessVBA入门指导.ppt》由会员分享,可在线阅读,更多相关《AccessVBA入门指导.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Access VBA程序设计本章重点本章重点Access Basic编程语言运算符、函数与表达式Access Basic语句模块的使用Access Basic的扩展性VBA 程序的开发环境VBA中的程序与函数共有种,分别是:一般程序(Sub)、事件程序(Event)、属性程序(Property)和函数(Function)VBA程序窗口有代码窗口、立即窗口、本地窗口、监视窗口、工程资源管理器和属性窗口等种窗口。Access Basic编程语言在进行Access的VBA编程之前,要了解Access Basic的基本编程语言一、数据类型二、变量定义三、变量的作用域一、数据类型在Access中可用的数
2、据类型分为种:标准型、自定义型、对象型。.标准型,共有种。()整数:后缀符为“”()长整数:后缀符为“&”()单精度:后缀符为“!”()双精度:后缀符为“#”()货币:后缀符为“”()字符串:后缀符为“$”()变体:可用于任何数据类型。.自定义型:它是用关键词Type标本的,如:例如Type Point X as Integer Y as integerEnd Type即定义了一个点(point)的数据结构,声明和使用变量形式如:Dim pCurPoint as Point PCurPoint.X=10PCurPoint.Y=10.对象型Access中有种对象型,是在程序中操作数据库的途径,操
3、作数据库都是通过操作各种数据库对象的属性和方法来实现的。分别为:Database,Workspace,Document,Container,User,Group,Report,Control,TableDef,QueryDef,Recordset,Field,Index,Relation,Parameter,Property.二、变量定义在Access中用来定义变量的关键词有:Dim,Static,Global,ReDim.1.Dim,这是使用最多的一个关键词,其语法定义如下:Dim 变量名 As 类型名Dim 数组名(下标范围)s 类型名Dim 动态数组名()s 类型名Dim 数组名(下标开
4、始值 To 下标结束值)As 类型名例如Dim nNum(10,10)As IntegerDim nNum(-10 To 10,1To 5)As Integer2.Static,用来定义一个模块级的静态变量。语法格式为:Static 变量名 As 类型Static 数组名(下标)As 类型3.Global,用来定义一个全局变量。语法格式为:Global 变量名 As 类型名Global 数组名(下标范围)As 类型名Global 动态数组名()As 类型名例如:Global nNumber As IntegerGlobal nNumber()As IntegerGlobal nNum(10,1
5、0)As Integer4.ReDim4.ReDim,该语句与Dim语句联合起来使用,来实现在Access中动态分配内存。使用方法为:首先在代码中使用Dim或Global来声明一个动态数组,但不确定数组的宽度和维数,在需要使用数组来存储数据时,使用ReDim来声明数组的宽度和维数,但这时已经不能更改数组的类型了。使用ReDim可以为一个动态数组分配内存,多次指定不同的宽度,但多次定义时,维数必须和第一次使用ReDim定义的维数一致,不能再次进行修改了。另外,ReDim语句之后还可以使用修补词“Preserve”将原数组中已经分配的单元保留下来,这时当第二次使用R分配内存时,只能在最后一维上变动
6、。例如:下面的例子是非法操作:ReDim nNum(5,5,10)ReDim Preserve nNum(5,7,10)应该使用下面的代码:ReDim nNum(5,5,10)ReDim Preserve nNum(5,5,30)动态分配数组后,有时需要知道数组的上、下界,在A中使用LBount(),UBound()就可以测试出数组的上、下界。具体语法如下:Lbound(数组名,维数)例如:ReDim strName(0,To 10,2 To 10,-1 To 10)LBount(strName,1)的返回值为0;LBount(strName,2)的返回值为2;LBount(strName,3
7、)的返回值为-1。UBound(数组名,维数)可以返回数组的上界,使用情况和LBount相同。三、变量的作用域程序中声明的每个变量都有作用域,超出它的作用域后,变量就失去作用,成为没有定义的字符。Access中变量的作用域有3类。(1)全局变量,这种变量在数据库应用系统中的所有地方都可以使用,定义一个全局变量只能在模块对象中进行,使用Global来定义。(2)对象级变量,可以在一个对象(窗体、报表、模块)中的任何地方使用,不能跨越所在的对象。在对象的General中进行定义,使用Dim关键词。(3)模块级变量,只能在一个模块中使用,不能跨出模块,这种变量即常用的局部变量。10.4 Access
8、 Basic 语句Access支持结构化语言中的顺序、分支、循环语句,另外还有一些特殊作用的功能语句。一、GOTO语句 VBA的GOTO Labal语句可以跳过一些代码块到Labal的位置,并从该点继续执行。Labal标号要从代码的最左边(第一列)开始写,这个位置通常会影响代码的缩进格式。一般情况下不要使用GOTO语句。在VBA程序中使用GOTO语句的唯一一个目的就是用On Error GoTo Labal语句来处理错误。二、IF语句If/Then/End if语句是典型的判断分支控制语句。语法格式为:If 条件=True Then 条件为真时执行的语句End if 另外还可以使用嵌套IF语句
9、格式:If条件1=TrueThen条件为真时执行的语句Elself条件2=True Then条件1不成立但条件2成立时,执行的语句End if例如下面的IF语句用来判断一个字符是否是字母,而且判断它的大小写。If Asc(strChar)63 And Asc(strChar96 And Asc(strChar123)ThenstrCharType=“小写字母”End If二、Select语句当有多种选择时,使用If Else语句,这样的语句需要多重嵌套,使得程序十分复杂,不容易读,这时就可以使用Select语句,Select语句是一个多分支控制语句。语法格式为:Select Case表达式 C
10、ase值1 语句1 Case值2 语句2 Case Else 语句End select例如:下面语句用来对字母进行判断Select Case strChar Case “A”To“Z”strCharType=“大写字母”Case“a”To“z”strCharType=“小写字母”Case“0”To“9”strCharType=“数字字母”Case“!”,”?”,”.”,”,”;”strCharType=“标点符号”Case“”strCharType=“空格”Case 32 strCharType=“特殊字母”Case Else strCharType=“其它字母”End Select 四、Fo
11、r语句For语句是最常用的循环控制语句。语法格式为:For 变量=开始值 To 结束值 Step 步长 循环执行语句Next 变量例如:下面使用For语句为数值赋初始值。For nLeter=1 To 26 strChar(nLeter)=Char(nLeter+63)Next nLeter 注意 当STEP不写时,默认的步长是1。五、DO语句Do语句是另外一种循环语句,有两种格式:Do WhileLoop和Do UntilLoop.1.Do while 条件=True 循环语句,含有“条件”的变更语句Loop2.Do Until 条件 True(或Not 条件)循环语句Loop六、功能语句AppactivateBeepChDriveDataDelete ControlDelete Report ControlDoCmdEraseMsgBox 使用格式为:MsgBox(msg,type,title)Set 使用格式为:Set ObjName=ObjectValue.Time
限制150内