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

下载本文档

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

文档简介

1、全国计算机等级考试Access数据库程序设计(二级),万红波 烟台大学,VBA编程基础,常量、变量、运算符和表达式; 流程控制语句; 过程调用和参数传递; 常用操作的实现方法; VBA的数据库编程;,1.1 数据类型,程序的主要目的是处理各种数据,现实存在的数据是各种各样的,比如有整数、文本数据等等; 在表的创建过程中,涉及到字段的数据类型,字段的数据类型决定了字段可以存储什么样的数据;字段的数据类型是Access内部的数据类型; VBA中也定义了各种数据类型,用来在程序中存放不同的数据;,1.1 数据类型,1.1 数据类型-变体数据类型,变体类型除了定长字符串类型、用户自定义类型外,可以包含

2、其他任何类型的数据; 如果没有显式声明,变量的默认类型是变体类型;,1.2 变量,变量就是存放数据的容器,在程序运行中存放数据,并且数据可以发生变化; 变量的名字由字符、数字、下划线(_)构成,变量命名大小写不“敏感”;,1.2 变量显式定义变量,显式变量:先定义变量,后使用 Dim 变量名 As 变量类型 Dim ii As Integer 定义ii为整型变量 Dim s As String*10 定义s为定长字符串 Dim t 没有As部分,默认为Variant类型 可以加入Option Explicit语句,强制要求所有变量必须先定义后使用;,1.2 变量隐式变量,变量没有直接定义,借助

3、将一个值指定给变量名的方式来建立变量; MyVar=532 默认是Variant类型,值为532 可以使用类型说明字符来指明隐含变量的类型 MyVar%=23 MyDouble#=23.34,1.2 变量作用域局部范围,变量定义在模块的过程的内部,Private Sub OK_Click() Dim i As Integer i = 9 MsgBox i= & i End Sub,1.2 变量作用域模块范围,变量定义在模块的所有过程之外的起始位置,模块的所有子过程和函数都可以使用;,Dim i As Integer Private Sub OK_Click() i = 9 MsgBox i=

4、& i End Sub,1.2 变量作用域全局范围,变量定义在标准模块的所有过程之外的起始位置,用Public . As 定义的变量属于全局范围; Public i As Integer 全局范围的变量,在类模块和标准模块中都可以访问; 在类模块中访问标准模块中的全局变量 标准模块名.全局变量名,1.3 数据类型之间的转换,把数据转换成特定的类型,Dim bb As Boolean bb = CBool(true),1.4 用户自定义数据类型,可以建立包含一个或多个VBA标准数据类型的用户自定义数据类型 用户自定义类型的声明,必须放在标准模块中,Type 数据类型名 As As . End T

5、ype,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() Dim stu As asd.Student stu.txtNo = 2929333 stu.txtName = 张三 stu.txtSex = 男 stu.txtAge = 20 MsgBox stu.txtName & s

6、tu.txtName End Sub,1.4 用户自定义数据类型例子,在类模块中,定义用户自定义类型变量 Private Sub OK_Click() Dim stu As asd.Student With stu .txtNo = 2929333 .txtName = 张三 .txtSex = 男 .txtAge = 20 End With MsgBox stu.txtName & stu.txtName End Sub,1.5 数组,数组:包含一种数据类型的一组数据 Dim 数组名(下标下限 to 下标上限) 缺省情况下,数组下标下限为0,可以使用“Option Base 1”将数组的默认

7、下标下限由0改为1 Dim NewArray(10) As Integer NewArray(0) . NewArray(10),1.5 数组,二维数组的定义 Dim aa(5,5) As Integer aa(0,0) a(0,1) a(0,2).a(0,5).a(5,5) 动态数组 先用Dim显式定义数组但不指明元素数目,然后用ReDim关键字来决定元素数目; Dim MyArray() As Long . ReDim MyArray(10),练习题,以下哪个选项定义了10个整型数构成的数组,数组元素为NewArray(1)至NewArray(10) A) Dim NewArray(10)

8、As Integer B) Dim NewArray(1 To 10)As Integer C) Dim NewArray(10) Integer D) Dim NewArray(1 To 10) Integer,练习题,语句Dim NewArray(10) As Integer的含义是 A)定义了一个整型变量且初始值为10 B)定义了10个整数构成的数组 C)定义了11个整数构成的数组 D)将数组的第10元素设置为整型,1.6 引用窗体或报表中控件的属性值,引用窗体或报表中控件(通用方式) Forms!窗体名称!控件名称.属性名称 Reports!窗体名称!控件名称.属性名称 引用自身窗体上

9、的控件 Me.控件名称.控件属性,定义控件类型变量 Dim txtName As Control 用Set引用控件 Set txtName = Forms!testForm!txtName MsgBox txtName.Value txtName.Value = Test,1.7 符号常量,Const 符号常量名称=常量值 定义全局符号常量,在标准模块中 Global Const PI=3.1415 Public Const PI=3.1415,1.8 系统常量、内部常量,Access启动时就建立的系统常量 比如:True,False,Yes,No,Off,Null 内部常量:VBA提供的一些

10、预定义的内部符号常量;,MsgBox 提示信息, vbInformation, 窗口标题“ DoCmd.OpenReport 教师, acViewPreview,1.9 运算符,VBA中,使用各种运算符来完成对数据的运算和处理 算术运算符 关系运算符 逻辑运算符 连接运算符,1.9 运算符算术运算符,加法 + 减法 - 乘法 * 除法 / 整数除法 求模运算 Mod 乘幂 ,Dim MyValue MyValue = 10 Mod 4 MyValue = 10 Mod 2 MyValue = -10 Mod 2 MyValue = -12.7 Mod -5 MyValue = 3 2 MyVa

11、lue = 10.2 4.9 MyValue = 10 3,整数除法,操作数的小数部分直接舍去,如果结果有小数也要舍去; 求模运算Mod,操作数的小数部分四舍五入后变成整数再运算;余数的正负跟被除数相关;,1.9 运算符关系运算符,相等 = 不等 大于 小于 = 小于等于 =,Dim MyValue MyValue = (10 4) MyValue = (#8/8/2006# = #9/8/2008#),比较运算的结果为逻辑值:True(真)或False(假),1.9 运算符逻辑运算符,逻辑运算符对两个逻辑量进行逻辑运算 AND 逻辑与 OR 逻辑或 NOT 逻辑非,Dim MyValue M

12、yValue = (10 4 And 11 2) MyValue = (10 2) myvlaue = Not (4 = 3),1.9 运算符连接运算符,字符串连接运算符 & 强制将两个表达式做字符串连接 + 当两边的表达式都是字符串的时候,才将两个字符串连接成一个字符串,Dim s As String Dim ss As String s = 2 & 3 ss = 2 + 3,1.10 运算符的优先级,优先级: 算术运算符连接运算符关系运算符逻辑运算符 算术运算符 和逻辑运算符的优先级,低,高,1.11 常用标准函数,VBA提供了大量的标准函数,可以在程序中调用; 数学函数 字符串函数 日期

13、/时间函数 类型转换函数,1.11 常用标准函数数学函数,取整函数 Int() Fix() 参数为正数时,两者相同;参数为负数时候,Int返回小于等于参数值的第一个负数,Fix返回大于等于参数值的第一个负数;,Dim a, b As Integer a = Int(-3.23) b = Fix(-3.23) MsgBox a= & a & b= & b,1.11 常用标准函数数学函数,随机数函数 Rnd(),产生大于等于0,小于1的单精度数; 数值表达式的值0,每次产生随机数;默认值 数值表达式的值=0,产生最近生成的随机数;,练习题,有如下语句: s=Int(100*Rnd) 执行完毕后,s

14、的值是 A) 0,99的随机数 B) 1,99的随机数 C) 0,100的随机数 D) 1,100的随机数,1.11 常用标准函数字符串函数,字符串检索函数 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,1.11 常用标准函数字符串函数,字符串长度函数 Len() 返回字符串中所包含的字符的个数,对于定长字符串来说,返回定义时的长度;,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 常用标准函数日期/时间串函数,Date 返回当前系统日期 Time 返回当前系统时间 Now 返回当前系统日期和时间,Dim d As Date d = Now Msg

温馨提示

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

最新文档

评论

0/150

提交评论