已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国计算机等级考试Access数据库程序设计(二级),万红波烟台大学,VBA编程基础,常量、变量、运算符和表达式;流程控制语句;过程调用和参数传递;常用操作的实现方法;VBA的数据库编程;,1.1数据类型,程序的主要目的是处理各种数据,现实存在的数据是各种各样的,比如有整数、文本数据等等;在表的创建过程中,涉及到字段的数据类型,字段的数据类型决定了字段可以存储什么样的数据;字段的数据类型是Access内部的数据类型;VBA中也定义了各种数据类型,用来在程序中存放不同的数据;,1.1数据类型,1.1数据类型-变体数据类型,变体类型除了定长字符串类型、用户自定义类型外,可以包含其他任何类型的数据;如果没有显式声明,变量的默认类型是变体类型;,1.2变量,变量就是存放数据的容器,在程序运行中存放数据,并且数据可以发生变化;变量的名字由字符、数字、下划线(_)构成,变量命名大小写不“敏感”;,1.2变量显式定义变量,显式变量:先定义变量,后使用Dim变量名As变量类型DimiiAsInteger定义ii为整型变量DimsAsString*10定义s为定长字符串Dimt没有As部分,默认为Variant类型可以加入OptionExplicit语句,强制要求所有变量必须先定义后使用;,1.2变量隐式变量,变量没有直接定义,借助将一个值指定给变量名的方式来建立变量;MyVar=532默认是Variant类型,值为532可以使用类型说明字符来指明隐含变量的类型MyVar%=23MyDouble#=23.34,1.2变量作用域局部范围,变量定义在模块的过程的内部,PrivateSubOK_Click()DimiAsIntegeri=9MsgBoxi=&iEndSub,1.2变量作用域模块范围,变量定义在模块的所有过程之外的起始位置,模块的所有子过程和函数都可以使用;,DimiAsIntegerPrivateSubOK_Click()i=9MsgBoxi=&iEndSub,1.2变量作用域全局范围,变量定义在标准模块的所有过程之外的起始位置,用Public.As定义的变量属于全局范围;PubliciAsInteger全局范围的变量,在类模块和标准模块中都可以访问;在类模块中访问标准模块中的全局变量标准模块名.全局变量名,1.3数据类型之间的转换,把数据转换成特定的类型,DimbbAsBooleanbb=CBool(true),1.4用户自定义数据类型,可以建立包含一个或多个VBA标准数据类型的用户自定义数据类型用户自定义类型的声明,必须放在标准模块中,Type数据类型名AsAs.EndType,1.4用户自定义数据类型例子,在标准模块asd中,声明用户自定义类型PublicTypeStudenttxtNoAsString*7txtNameAsStringtxtSexAsString*1txtAgeAsIntegerEndType,在类模块中,定义用户自定义类型变量PrivateSubOK_Click()DimstuAsasd.Studentstu.txtNo=2929333stu.txtName=张三stu.txtSex=男stu.txtAge=20MsgBoxstu.txtName&stu.txtNameEndSub,1.4用户自定义数据类型例子,在类模块中,定义用户自定义类型变量PrivateSubOK_Click()DimstuAsasd.StudentWithstu.txtNo=2929333.txtName=张三.txtSex=男.txtAge=20EndWithMsgBoxstu.txtName&stu.txtNameEndSub,1.5数组,数组:包含一种数据类型的一组数据Dim数组名(下标下限to下标上限)缺省情况下,数组下标下限为0,可以使用“OptionBase1”将数组的默认下标下限由0改为1DimNewArray(10)AsIntegerNewArray(0).NewArray(10),1.5数组,二维数组的定义Dimaa(5,5)AsIntegeraa(0,0)a(0,1)a(0,2).a(0,5).a(5,5)动态数组先用Dim显式定义数组但不指明元素数目,然后用ReDim关键字来决定元素数目;DimMyArray()AsLong.ReDimMyArray(10),练习题,以下哪个选项定义了10个整型数构成的数组,数组元素为NewArray(1)至NewArray(10)A)DimNewArray(10)AsIntegerB)DimNewArray(1To10)AsIntegerC)DimNewArray(10)IntegerD)DimNewArray(1To10)Integer,练习题,语句DimNewArray(10)AsInteger的含义是A)定义了一个整型变量且初始值为10B)定义了10个整数构成的数组C)定义了11个整数构成的数组D)将数组的第10元素设置为整型,1.6引用窗体或报表中控件的属性值,引用窗体或报表中控件(通用方式)Forms!窗体名称!控件名称.属性名称Reports!窗体名称!控件名称.属性名称引用自身窗体上的控件Me.控件名称.控件属性,定义控件类型变量DimtxtNameAsControl用Set引用控件SettxtName=Forms!testForm!txtNameMsgBoxtxtName.ValuetxtName.Value=Test,1.7符号常量,Const符号常量名称=常量值定义全局符号常量,在标准模块中GlobalConstPI=3.1415PublicConstPI=3.1415,1.8系统常量、内部常量,Access启动时就建立的系统常量比如:True,False,Yes,No,Off,Null内部常量:VBA提供的一些预定义的内部符号常量;,MsgBox提示信息,vbInformation,窗口标题“DoCmd.OpenReport教师,acViewPreview,1.9运算符,VBA中,使用各种运算符来完成对数据的运算和处理算术运算符关系运算符逻辑运算符连接运算符,1.9运算符算术运算符,加法+减法-乘法*除法/整数除法求模运算Mod乘幂,DimMyValueMyValue=10Mod4MyValue=10Mod2MyValue=-10Mod2MyValue=-12.7Mod-5MyValue=32MyValue=10.24.9MyValue=103,整数除法,操作数的小数部分直接舍去,如果结果有小数也要舍去;求模运算Mod,操作数的小数部分四舍五入后变成整数再运算;余数的正负跟被除数相关;,1.9运算符关系运算符,相等=不等大于小于=小于等于4)MyValue=(#8/8/2006#4And112)MyValue=(102)myvlaue=Not(4=3),1.9运算符连接运算符,字符串连接运算符&强制将两个表达式做字符串连接+当两边的表达式都是字符串的时候,才将两个字符串连接成一个字符串,DimsAsStringDimssAsStrings=2&3ss=2+3,1.10运算符的优先级,优先级:算术运算符连接运算符关系运算符逻辑运算符算术运算符和逻辑运算符的优先级,低,高,1.11常用标准函数,VBA提供了大量的标准函数,可以在程序中调用;数学函数字符串函数日期/时间函数类型转换函数,1.11常用标准函数数学函数,取整函数Int()Fix()参数为正数时,两者相同;参数为负数时候,Int返回小于等于参数值的第一个负数,Fix返回大于等于参数值的第一个负数;,Dima,bAsIntegera=Int(-3.23)b=Fix(-3.23)MsgBoxa=&a&b=&b,1.11常用标准函数数学函数,随机数函数Rnd(),产生大于等于0,小于1的单精度数;数值表达式的值0,每次产生随机数;默认值数值表达式的值=0,产生最近生成的随机数;,练习题,有如下语句:s=Int(100*Rnd)执行完毕后,s的值是A)0,99的随机数B)1,99的随机数C)0,100的随机数D)1,100的随机数,1.11常用标准函数字符串函数,字符串检索函数InStr(Start,Compare)Start和Compare都是可选参数;检索Str2在字符串Str1中最早出现的位置,字符串中第一个字符的位置为1;,Dimstr1,str2AsStringDimiAsIntegerstr1=str2=ytui=InStr(str1,str2)MsgBoxi,1.11常用标准函数字符串函数,字符串长度函数Len()返回字符串中所包含的字符的个数,对于定长字符串来说,返回定义时的长度;,Dimstr1AsString*10Dimstr2AsStringstr1=abcdstr2=abcdDimi1,i2AsIntegeri1=Len(str1)i2=Len(str2),1.11常用标准函数日期/时间串函数,Date返回当前系统日期Time返回当前系统时间Now返回当前系统日期和时间,DimdAsDated=NowMsgBoxd,1.11常用标准函数类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44769-2024能源互联网数据平台技术规范
- 文书模板-新型智慧城市运行中心建设情况报告
- 元素与物质分类-2023年中考化学一轮复习(解析版)
- 济宁2024年统编版小学6年级上册英语第三单元真题
- 2024-2025学年江苏省镇江某中学高二(上)月考物理试卷(10月)(含答案)
- DB4107T 501-2024 知识产权保护中心服务规范 一般要求
- 五年级科学下册期末试题分类汇编:地表缓慢变化
- 2024年锅炉自控优化装置项目投资申请报告代可行性研究报告
- 2024年安全员C证考试100题及解析
- 纤维增强复合材料防眩格栅技术规范(征求意见稿)
- 人教版(2024年新教材)七年级上册英语Unit 5 Fun Clubs 单元整体教学设计(5课时)
- 【课件】庆祝新中国成立75周年主题班会课件
- 云南开放大学事业单位公开招聘82人高频500题难、易错点模拟试题附带答案详解
- 2024-2025学年新教材高中政治 第二单元 世界多极化 4.1 时代的主题教案 新人教版选择性必修1
- 5 新走近我们的老师 第一课时(教学设计)-部编版道德与法治三年级上册
- 国画课程设计报告
- 2024年四川省专利审查协作中心招聘笔高频考题难、易错点模拟试题(共500题)附带答案详解
- 肌肉注射操作并发症的预防及处理
- 江苏省徐州市六县2024-2025学年高一数学上学期期中考试试卷
- JTG-T-F20-2015公路路面基层施工技术细则
- 2024山东能源集团中级人才库选拔【重点基础提升】模拟试题(共500题)附带答案详解
评论
0/150
提交评论