VBA编程基础-常量、变量、运算符和表达式_第1页
VBA编程基础-常量、变量、运算符和表达式_第2页
VBA编程基础-常量、变量、运算符和表达式_第3页
VBA编程基础-常量、变量、运算符和表达式_第4页
VBA编程基础-常量、变量、运算符和表达式_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VBA编程基础-常量、变量、 运算符和表达式 VBA编程基础-常量、变量、运算符和表 达式 VBA编程基础 n常量、变量、运算符和表达式常量、变量、运算符和表达式; n流程控制语句; n过程调用和参数传递; n常用操作的实现方法; nVBA的数据库编程; VBA编程基础-常量、变量、运算符和表 达式 1.1 数据类型 n程序的主要目的是处理各种数据,现实存在的数 据是各种各样的,比如有整数、文本数据等等; n在表的创建过程中,涉及到字段的数据类型,字 段的数据类型决定了字段可以存储什么样的数据; 字段的数据类型是Access内部的数据类型; nVBA中也定义了各种数据类型,用来在程序中存 放不

2、同的数据; VBA编程基础-常量、变量、运算符和表 达式 1.1 数据类型 数据类型数据类型类型标识类型标识类型说明符号类型说明符号数据库字段类型数据库字段类型 字节Byte字节 整数Integer%字节/整数/是/否 长整数Long&长整数/自动编号 单精度数Single!单精度数 双精度数Double#双精度数 货币Currency货币 字符串String$文本 布尔型Boolean是/否 日期型Date日期/时间 变体类型Variant任何 VBA编程基础-常量、变量、运算符和表 达式 1.1 数据类型-变体数据类型 n变体类型除了定长字符串类型、用户自 定义类型外,可以包含其他任何类型

3、的数 据; n如果没有显式声明,变量的默认类型是变 体类型; VBA编程基础-常量、变量、运算符和表 达式 1.2 变量 n变量就是存放数据的容器,在程序运行中 存放数据,并且数据可以发生变化; n变量的名字由字符、数字、下划线(_)构成, 变量命名大小写不“敏感”; VBA编程基础-常量、变量、运算符和表 达式 1.2 变量显式定义变量 n显式变量:先定义变量,后使用 Dim 变量名 As 变量类型 Dim ii As Integer 定义ii为整型变量 Dim s As String*10 定义s为定长字符串 Dim t 没有As部分,默认为Variant类型 n可以加入Option Ex

4、plicit语句,强制要求所 有变量必须先定义后使用; VBA编程基础-常量、变量、运算符和表 达式 1.2 变量隐式变量 n变量没有直接定义,借助将一个值指定给 变量名的方式来建立变量; MyVar=532 默认是默认是Variant类型,值为类型,值为532 n可以使用类型说明字符类型说明字符来指明隐含变量的 类型 MyVar%=23 MyDouble#=23.34 VBA编程基础-常量、变量、运算符和表 达式 1.2 变量作用域局部范围 n变量定义在模块的过程的内部 Private Sub OK_Click() Dim i As Integer i = 9 MsgBox i= & i E

5、nd Sub VBA编程基础-常量、变量、运算符和表 达式 1.2 变量作用域模块范围 n变量定义在模块的所有过程之外的起始位 置,模块的所有子过程和函数都可以使用; Dim i As Integer Private Sub OK_Click() i = 9 MsgBox i= & i End Sub VBA编程基础-常量、变量、运算符和表 达式 1.2 变量作用域全局范围 n变量定义在标准模块的所有过程之外的起 始位置,用Public . As 定义的变量属于全 局范围; Public i As Integer n全局范围的变量,在类模块和标准模块中 都可以访问; n在类模块中访问标准模块中

6、的全局变量 标准模块名标准模块名.全局变量名全局变量名 VBA编程基础-常量、变量、运算符和表 达式 1.3 数据类型之间的转换 n把数据转换成特定的类型 函数函数目标类型目标类型|函数函数目标类型目标类型 CBoolBoolean|CDateDate CByteByte|CDblDouble CVarVariant|CStrString CIntInteger|CLngLong CCurCurrency|CSngSingle Dim bb As Boolean bb = CBool(true) VBA编程基础-常量、变量、运算符和表 达式 1.4 用户自定义数据类型 n可以建立包含一个或多个

7、VBA标准数据类 型的用户自定义数据类型 n用户自定义类型的声明,必须放在标准模 块中 Type 数据类型名数据类型名 As As . End Type VBA编程基础-常量、变量、运算符和表 达式 1.4 用户自定义数据类型例子 在标准模块asd中,声明用户自定义类型 Public Type Student txtNo As String * 7 txtName As String txtSex As String * 1 txtAge As Integer End Type 在类模块中,定义用户自定义类型变量在类模块中,定义用户自定义类型变量 Private Sub OK_Click()

8、Dim stu As asd.Student stu.txtNo = 2929333 stu.txtName = 张三张三 stu.txtSex = 男男 stu.txtAge = 20 MsgBox stu.txtName & stu.txtName End Sub VBA编程基础-常量、变量、运算符和表 达式 1.4 用户自定义数据类型例子 在类模块中,定义用户自定义类型变量在类模块中,定义用户自定义类型变量 Private Sub OK_Click() Dim stu As asd.Student With stu .txtNo = 2929333 .txtName = 张三张三 .tx

9、tSex = 男男 .txtAge = 20 End With MsgBox stu.txtName & stu.txtName End Sub VBA编程基础-常量、变量、运算符和表 达式 1.5 数组 n数组:包含一种数据类型的一组数据 Dim 数组名数组名(下标下限下标下限 to 下标上限下标上限) n缺省情况下,数组下标下限为0,可以使用 “Option Base 1”将数组的默认下标下限由0改为 1 Dim NewArray(10) As Integer NewArray(0) . NewArray(10) VBA编程基础-常量、变量、运算符和表 达式 1.5 数组 n二维数组的定义

10、 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) VBA编程基础-常量、变量、运算符和表 达式 练习题 n以下哪个选项定义了10个整型数构成的数 组,数组元素为NewArray(1)至 NewArray(10) A) Dim NewArray(10)As Integer B) Dim NewArray(1 To 10)As Integer C) Di

11、m NewArray(10) Integer D) Dim NewArray(1 To 10) Integer VBA编程基础-常量、变量、运算符和表 达式 练习题 n语句Dim NewArray(10) As Integer 的含义是 A)定义了一个整型变量且初始值为10 B)定义了10个整数构成的数组 C)定义了11个整数构成的数组 D)将数组的第10元素设置为整型 VBA编程基础-常量、变量、运算符和表 达式 1.6 引用窗体或报表中控件的属性值 n引用窗体或报表中控件(通用方式) Forms!窗体名称窗体名称!控件名称控件名称.属性名称属性名称 Reports!窗体名称窗体名称!控件名

12、称控件名称.属性名称属性名称 n引用自身窗体上的控件 Me.控件名称.控件属性 定义控件类型变量定义控件类型变量 Dim txtName As Control 用用Set引用控件引用控件 Set txtName = Forms!testForm!txtName MsgBox txtName.Value txtName.Value = Test VBA编程基础-常量、变量、运算符和表 达式 1.7 符号常量 nConst 符号常量名称=常量值 n定义全局符号常量全局符号常量,在标准模块中 Global Const PI=3.1415 Public Const PI=3.1415 VBA编程基础-

13、常量、变量、运算符和表 达式 1.8 系统常量、内部常量 nAccess启动时就建立的系统常量 比如:比如:True,False,Yes,No,Off,Null n内部常量:内部常量:VBA提供的一些预定义的内部符提供的一些预定义的内部符 号常量;号常量; MsgBox 提示信息提示信息, vbInformation, 窗口标题窗口标题“ DoCmd.OpenReport 教师教师, acViewPreview VBA编程基础-常量、变量、运算符和表 达式 1.9 运算符 nVBA中,使用各种运算符来完成对数据的 运算和处理 算术运算符 关系运算符 逻辑运算符 连接运算符 VBA编程基础-常量

14、、变量、运算符和表 达式 1.9 运算符算术运算符 n加法 + n减法 - n乘法 * n除法 / n整数除法整数除法 n求模运算 Mod n乘幂 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,操作数的小数部分四,操

15、作数的小数部分四 舍五入后变成整数再运算;余数的正舍五入后变成整数再运算;余数的正 负跟被除数相关;负跟被除数相关; VBA编程基础-常量、变量、运算符和表 达式 1.9 运算符关系运算符 n相等 = n不等 n大于 n小于 = n小于等于 4) MyValue = (#8/8/2006# 4 And 11 2) MyValue = (10 2) myvlaue = Not (4 = 3) VBA编程基础-常量、变量、运算符和表 达式 1.9 运算符连接运算符 n字符串连接运算符 n& 强制将两个表达式做字符串连接 n+ 当两边的表达式都是字符串的时候,才将 两个字符串连接成一个字符串 Dim

16、 s As String Dim ss As String s = 2 & 3 ss = 2 + 3 VBA编程基础-常量、变量、运算符和表 达式 1.10 运算符的优先级 n优先级: 算术运算符连接运算符关系运算符逻辑运算符 n算术运算符 和逻辑运算符的优先级 算术运算符算术运算符逻辑运算符逻辑运算符 指数运算()NOT 负数(-)AND 乘法和除法(*、/)OR 整数除法() 求模运算(Mod) 加法和减法(+、-) 低 高 VBA编程基础-常量、变量、运算符和表 达式 1.11 常用标准函数 nVBA提供了大量的标准函数,可以在程序 中调用; 数学函数 字符串函数 日期/时间函数 类型转

17、换函数 VBA编程基础-常量、变量、运算符和表 达式 1.11 常用标准函数数学函数 n取整函数 Int() Fix() 参数为正数时,两者相同;参数为负数时候,Int返回小于等于参 数值的第一个负数,Fix返回大于等于参数值的第一个负数; Dim a, b As Integer a = Int(-3.23) b = Fix(-3.23) MsgBox a= & a & b= & b VBA编程基础-常量、变量、运算符和表 达式 1.11 常用标准函数数学函数 n随机数函数 Rnd(),产生大于 等于0,小于1的单精度数; 数值表达式的值0,每次产生随机数;默认值 数值表达式的值=0,产生最近

18、生成的随机数; VBA编程基础-常量、变量、运算符和表 达式 练习题 有如下语句:有如下语句: s=Int(100*Rnd) 执行完毕后,执行完毕后,s的值是的值是 A) 0,99的随机数的随机数 B) 1,99的随机数的随机数 C) 0,100的随机数的随机数 D) 1,100的随机数的随机数 VBA编程基础-常量、变量、运算符和表 达式 1.11 常用标准函数字符串函数 n字符串检索函数 InStr(Start,Compare) Start和Compare都是可选参数; 检索Str2在字符串Str1中最早出现的位置,字 符串中第一个字符的位置为1; Dim str1, str2 As String Dim i As Integer str1 = str2 = ytu i = InStr(str1, str2) MsgBox i VBA编程基础-常量、变量、运算符和表 达式 1.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 =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论