资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
全国计算机等级考试 Access数据库程序设计 (二级)万红波 烟台大学VBA编程基础n常量、变量、运算符和表达式;n流程控制语句;n过程调用和参数传递;n常用操作的实现方法;nVBA的数据库编程;1.1 数据类型n程序的主要目的是处理各种数据,现实存在的 数据是各种各样的,比如有整数、文本数据等 等;n在表的创建过程中,涉及到字段的数据类型, 字段的数据类型决定了字段可以存储什么样的 数据;字段的数据类型是Access内部的数据类 型;nVBA中也定义了各种数据类型,用来在程序中 存放不同的数据;1.1 数据类型数据类类型类类型标识标识类类型说说明符号数据库库字段类类型 字节Byte字节 整数Integer%字节/整数/是/否 长整数Long&长整数/自动编号 单精度数Single!单精度数 双精度数Double#双精度数 货币Currency货币 字符串String$文本 布尔型Boolean是/否日期型Date日期/时间 变体类型Variant任何1.1 数据类型-变体数据类型n变体类型除了定长字符串类型、用户自 定义类型外,可以包含其他任何类型的数 据;n如果没有显式声明,变量的默认类型是变 体类型;1.2 变量n变量就是存放数据的容器,在程序运行中 存放数据,并且数据可以发生变化;n变量的名字由字符、数字、下划线(_)构成 ,变量命名大小写不“敏感”;1.2 变量显式定义变量n显式变量:先定义变量,后使用 Dim 变量名 As 变量类型 Dim ii As Integer 定义ii为整型变量 Dim s As String*10 定义s为定长字符串 Dim t 没有As部分,默认为Variant类型n可以加入Option Explicit语句,强制要求 所有变量必须先定义后使用;1.2 变量隐式变量n变量没有直接定义,借助将一个值指定给 变量名的方式来建立变量; MyVar=532 默认是Variant类型,值为532n可以使用类型说明字符来指明隐含变量的 类型 MyVar%=23 MyDouble#=23.341.2 变量作用域局部范围n变量定义在模块的过程的内部Private Sub OK_Click()Dim i As Integeri = 9MsgBox “i=“ & i End Sub1.2 变量作用域模块范围n变量定义在模块的所有过程之外的起始位 置,模块的所有子过程和函数都可以使用 ;Dim i As Integer Private Sub OK_Click()i = 9MsgBox “i=“ & i End Sub1.2 变量作用域全局范围n变量定义在标准模块的所有过程之外的起 始位置,用Public . As 定义的变量属于 全局范围; Public i As Integern全局范围的变量,在类模块和标准模块中 都可以访问;n在类模块中访问标准模块中的全局变量 标准模块名.全局变量名1.3 数据类型之间的转换n把数据转换成特定的类型函数目标类标类 型|函数目标类标类 型 CBoolBoolean|CDateDate CByteByte|CDblDouble CVarVariant|CStrString CIntInteger|CLngLong CCurCurrency|CSngSingleDim bb As Boolean bb = CBool(“true“)1.4 用户自定义数据类型n可以建立包含一个或多个VBA标准数据类 型的用户自定义数据类型n用户自定义类型的声明,必须放在标准模 块中Type 数据类型名As As . End Type1.4 用户自定义数据类型例子在标准模块asd中,声明用户自定义类型 Public Type StudenttxtNo As String * 7txtName As StringtxtSex As String * 1txtAge As Integer End Type在类模块中,定义用户自定义类型变量 Private Sub OK_Click()Dim stu As asd.Studentstu.txtNo = “2929333“stu.txtName = “张三“stu.txtSex = “男“stu.txtAge = 20MsgBox “stu.txtName“ & stu.txtName End Sub1.4 用户自定义数据类型例子在类模块中,定义用户自定义类型变量 Private Sub OK_Click()Dim stu As asd.StudentWith stu.txtNo = “2929333“.txtName = “张三“.txtSex = “男“.txtAge = 20End WithMsgBox “stu.txtName“ & stu.txtName End Sub1.5 数组n数组:包含一种数据类型的一组数据 Dim 数组名(下标下限 to 下标上限)n缺省情况下,数组下标下限为0,可以使用 “Option Base 1”将数组的默认下标下限由0改为 1 Dim NewArray(10) As Integer NewArray(0) . NewArray(10)1.5 数组n二维数组的定义 Dim aa(5,5) As Integer aa(0,0) a(0,1) a(0,2).a(0,5).a(5,5)n动态数组先用Dim显式定义数组但不指明元素数目,然后用 ReDim关键字来决定元素数目; Dim MyArray() As Long . ReDim MyArray(10)练习题n以下哪个选项定义了10个整型数构成的数 组,数组元素为NewArray(1)至 NewArray(10) A) Dim NewArray(10)As Integer B) Dim NewArray(1 To 10)As Integer C) Dim NewArray(10) IntegerD) Dim NewArray(1 To 10) Integer 练习题n语句Dim NewArray(10) As Integer 的含义是 A)定义了一个整型变量且初始值为10 B)定义了10个整数构成的数组 C)定义了11个整数构成的数组 D)将数组的第10元素设置为整型1.6 引用窗体或报表中控件的属性值n引用窗体或报表中控件(通用方式) Forms!窗体名称!控件名称.属性名称 Reports!窗体名称!控件名称.属性名称n引用自身窗体上的控件 Me.控件名称.控件属性定义控件类型变量 Dim txtName As Control 用Set引用控件 Set txtName = Forms!testForm!txtName MsgBox txtName.Value txtName.Value = “Test“1.7 符号常量nConst 符号常量名称=常量值n定义全局符号常量,在标准模块中 Global Const PI=3.1415 Public Const PI=3.14151.8 系统常量、内部常量nAccess启动时就建立的系统常量 比如:True,False,Yes,No,Off,Nulln内部常量:VBA提供的一些预定义的内部 符号常量;MsgBox “提示信息“, vbInformation, “窗口标题“ DoCmd.OpenReport “教师“, acViewPreview1.9 运算符nVBA中,使用各种运算符来完成对数据的 运算和处理算术运算符关系运算符逻辑运算符连接运算符1.9 运算符算术运算符n加法 +n减法 -n乘法 *n除法 /n整数除法 n求模运算 Modn乘幂 Dim MyValue MyValue = 10 Mod 4 MyValue = 10 Mod 2 MyValue = -10 Mod 2 MyValue = -12.7 Mod -5 MyValue = 3 2 MyValue = 10.2 4.9 MyValue = 10 3整数除法,操作数的小数部分直接 舍去,如果结果有小数也要舍去;求模运算Mod,操作数的小数部分四 舍五入后变成整数再运算;余数的正 负跟被除数相关;1.9 运算符关系运算符n相等 =n不等 n小于 =n小于等于 4) MyValue = (#8/8/2006# 4 And 11 2) MyValue = (10 2) myvlaue = Not (4 = 3)1.9 运算符连接运算符n字符串连接运算符n& 强制将两个表达式做字符串连接n+ 当两边的表达式都是字符串的时候,才 将两个字符串连接成一个字符串Dim s As String Dim ss As String s = 2 & 3 ss = 2 + 31.10 运算符的优先级n优先级: 算术运算符连接运算符关系运算符逻辑运算符n算术运算符 和逻辑运算符的优先级 算术术运算符逻辑逻辑 运算符指数运算()NOT 负数(-)AND 乘法和除法(*、/)OR 整数除法() 求模运算(Mod)加法和减法(+、-)低高1.11 常用标准函数nVBA提供了大量的标准函数,可以在程序 中调用;数学函数字符串函数日期/时间函数类型转换函数1.11 常用标准函数数学函数n取整函数 Int()Fix()参数为正数时,两者相同;参数为负数时候,Int返回小于等于 参数值的第一个负数,Fix返回大于等于参数值的第一个负数;Dim a, b As Integer a = Int(-3.23) b = Fix(-3.23) MsgBox “a=“ & a & “b=“ & b1.11 常用标准函数数学函数n随机数函数 Rnd(),产生大 于等于0,小于1的单精度数;数值表达式的值0,每次产生随机数;默认 值数值表达式的值=0,产生最近生成的随机数 ;练习题有如下语句:s=Int(100*Rnd)执行完毕后,s的值是A) 0,99的随机数B) 1,99的随机数C) 0,100的随机数D) 1,100的随机数1.11 常用标准函数字符串函数n字符串检索函数InStr(Start,Compare)Start和Compare都是可选参数;检索Str2在字符串Str1中最早出现的位置,字 符串中第一个字符的位置为1;Dim str1, str2 As String Dim i As Integer str1 = “www.ytu.edu.cn“ str2 = “ytu“ i = InStr(str1, str2) MsgBox i1.11 常用标准函数字符串函数n字符串长度函数nLen()n返回字符串中所包含的字符的个数,对于 定长字符串来说,返回定义时的长度;Dim str1 As String * 10 Dim str2 As String str1 = “abcd“ str2 = “abcd“ Dim i1, i2 As Integer i1 = Len(str1) i2 = Len(str2)1.11 常用标准函数日期/时间串函 数nDate 返回当前系统日期 nTime 返回当前系统时间nNow 返回当前系统日期和时间Dim d As Date d = Now MsgBox d1.11 常用标准函数类型转换函数n字符和字符的ASCII码之间的转换Asc():将字符串中的第一个字符转 换为该字符的ASCII码;Chr():返回ASCII码对应的字符;n数字和字符串之间的相互转换Str():转换成字符串;Val():将数字字符串转换成数值型 数字;练习题n从字符串s中地2个字符开始获得4个字符 的字符串函数是 A) Mid(s,2,4) B) Left(s,2,4) C) Right(s,4
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号