当前位置:文档之家› AccessVBA入门指导教程

AccessVBA入门指导教程


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