您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第8章-VBA编程语言
ACCESS数据库应用第8章VBA编程语言全体编者ComputeCenter,QiqiharUniversityACCESS数据库应用本章内容提要:VBA概述VBA编程基础VBA基本控制结构VBA模块面向对象程序设计ACCESS数据库应用一、VBA概述1、VBA介绍VBA是(VisualBasicforApplication)是MicrosoftOffice系列软件的内置编程语言。Basic语言Visual可视化的程序设计2、与宏的比较在Access中,VBA与宏的作用类似,只是宏由系统给定,而VBA是需要用户自己编写程序。但在完成下列操作时,必须使用VBA。数据库的移植建立用户自定义函数ACCESS数据库应用3.VBA编程环境VBE(VisualBasicEditor)打开VBE窗口的方法:独立程序模块•“数据库”窗口“模块”对象选项“新建”按钮•菜单栏“工具”“宏”“VisualBasic编辑器”命令项绑定型程序模块VBE窗口的组成标准工具栏、工程窗口、属性窗口代码窗口操作演示ACCESS数据库应用3.VBA编程环境设计人员可以在代码窗口中进行代码编写、修改与调试等处理。“视图”菜单:对象浏览器立即窗口本地窗口监视窗口在标准模块中调试程序示例ACCESS数据库应用二、VBA编程基础数据类型常量和变量运算符与表达式常用内置函数的使用方法数组ACCESS数据库应用1.数据类型VBA提供的基本数据类型主要有字符串型数据和数值型数据,此外还提供了货币、对象、变体等数据类型。VBA共有12种数据类型。此外用户还可以根据以下类型用Type自定义数据类型。有效使用数据类型,应该尽量明确变量的具体数据类型。如:DimXAsIntegerACCESS数据库应用VBA基本数据类型数据类型说明数据类型类型标识符占用字节字符串型String$字符长度(0-65400)字节型Byte无1布尔型Boolean无2整数型Integer%2长整数型Long&4单精度型Single!4双精度型Double#8小数点型Decimal无14日期型Date无8货币型Currency@8变体型Variant无以上任意类型,可变对象型Object无4自定义类型Type…EndType无由定义内容决定ACCESS数据库应用2.常量和变量常量:在程序运行过程中保持不变的量。常量的种类:直接常量,如:344、3.14159、-23等;符号常量,如:constpi=3.14;固有常量,如:acForm、adAddNew、vbCuruency等;系统定义常量,如True、False、Null等。常量的数据类型参考-VBA基本数据类型符号常量的声明和使用:const符号常量名=常数ACCESS数据库应用2.常量和变量变量:程序运行过程中,值可以改变的量。变量的类型参考-VBA基本数据类型。变量的定义:使用类型符定义,如:BookNumber%=1234【例8.6】使用Dim语句定义,如:DimIAsinteger【例8.7】使用DefType语句,如:DefInta,b,c,e-h【例8.8】变量的命名同标识符的命名思考:变量与常量的区别?SubConstSample()ConstPIAsSingle=3.1415926PI=3.14’错误,PI的值不能改变r%=5S!=PI*r^2EndSubACCESS数据库应用3.运算符与表达式VBA中基本的运算符有五种:算术运算符、关系运算符、逻辑运算符、字符串运算符、对象运算符。表达式是由运算符、函数和数据等内容组合而成。根据运算符的不同,可以将表达式分成以下几类:算术表达式、关系表达式、逻辑表达式、字符串表达式和对象表达式。ACCESS数据库应用算术运算符与表达式算术运算符+加、-减、*乘、/除\整除、MOD求余、^乘方例如:•3+5、5-4、5*4、4/6•4\3=1、7MOD4=3、2^3=8运算符的优先级:括号取负乘方*/\MOD+-算术表达式-4+3*6MOD5^(2\4)ACCESS数据库应用关系运算符和表达式关系运算符:大于、小于、=等于、不等于=大于等于、=小于等于关系运算结果是:真(true或-1表示)或假(false或0表示)例如:4+36(true或–1)4-20(false或0)ACCESS数据库应用逻辑运算符与表达式逻辑运算符:And逻辑与、OR逻辑或、Not逻辑非逻辑运算结果是:真(true或-1表示)或假(false或0表示)优先级:NotAndOr逻辑运算的运算规则是:ACCESS数据库应用逻辑运算的运算规则例如:2+34And622-40Or6+39Not4+510AndTruefalseTruefalseTruefalseFalsefalseOrTruefalseTruefalseTrueTrueTruefalseNotTruefalseFalseTrueACCESS数据库应用字符连接符与表达式字符连接符:+:连接字符串&:可以将不同类型变量连接成字符串例如:a$=“123”:b$=“abc”c$=a$+b$(或c$=a$&b$)则C$的值为“123abc”思考:C&1和C+1是否正确?ACCESS数据库应用对象运算符与表达式对象运算符:!对象引用符.对象属性引用符例如:Forms![学生成绩单]'打开学生成绩单窗体Command1.Caption'引用命令按钮Command1的Caption属性ACCESS数据库应用例:表达式书写规则其VBA表达式为:(-b+Sqr(b^2-4*a*c))/(2*a)书写规则说明:括号要匹配乘号不能省略表达式从左到右书写使用表达式生成器创建表达式acabb242操作演示ACCESS数据库应用如何使用表达式表达式及其说明表达式说明=[数学成绩]+[英语成绩]计算报表上两个文本框控件中的值之和Date()将表中字段的默认值设置为当前日期总价:[订单].单价*[数量]创建查询中的计算字段Between#1/1/2005#And#12/31/2005#用于输入查询中“日期/时间”字段的条件=[订单]!小计返回“订单”窗体的“小计”控件的值0设置表中数值字段的有效性规则ACCESS数据库应用4.常用内置函数的使用方法内置函数的调用格式:函数名([参数])例如:求Sin(30°)VBA表达式为:•Sin(3.14*30/180)根据函数返回值的类型,可以将函数分为:数值型函数字符串函数日期/时间函数类型转换函数ACCESS数据库应用5.数组数组是由一组具有相同数据类型的变量构成的集合。数组定义格式为:Dim数组名([下标下界to]下标上界限[,[下标下界to]下标上界限])As数据类型例如【例8.9】DimA(3)asIntegerDimB(3,3)asInteger注意:OptionBasen的作用A(0)A(1)A(2)012012012B(0,1)ACCESS数据库应用数组的类型按数组元素个数是否可变分为:固定数组动态数组动态数组的定义方法:先使用Dim来声明数组再用ReDim来指定数组元素个数加保留字Preserve来保留以前的值否则,使用ReDim后,数组元素的值会被重新初始化为默认值。ACCESS数据库应用数组的使用数组的赋值例:定义动态数组,并求各元素的和。PrivatesubSumArray()DimS,A()asintegerRedimA(2)A(0)=1:A(1)=2RedimpreserveA(3)A(2)=3S=A(0)+A(1)+A(2)EndSub如果去掉preserve关键词结果会如何ACCESS数据库应用小结本部分主要介绍了VBA及其编程环境、VBA的基本数据类型、常量和变量、运算符与表达式、常用内置函数的使用方法和数组的基本概念。其中,重点内容是VBA的基本数据类型和运算符与表达式;难点内容是常用内置函数的使用方法和数组的基本概念。ACCESS数据库应用课堂练习课堂练习1、VBE窗口的基本组成及其打开方法?2、常量与变量的区别?3、利用VBA语法书写表达式?cabb42ACCESS数据库应用三、VBA基本控制结构程序语句程序语句的书写格式程序的基本语句VBA程序的基本控制结构有三种:顺序结构选择结构循环结构ACCESS数据库应用1.程序语句的书写格式VBA程序语句有自己的书写格式,主要规定如下:不区分字母的大小写。在书写标点符号和括号时,要用西文格式。在语句中的关键字的首字母均转换成大写,其余字母转换成小写。自定义的变量和过程名,以第一次定义的格式为准。续行的行尾加上续行符(空格+下划线“_”)。在一行上写多条语句,语句间用冒号“:”分隔。输入一行语句并按Enter键,VBA会自动进行语法检查,如果语句存在错误,该行代码以红色提示(或伴有错误信息提示)。ACCESS数据库应用2.程序的基本语句程序的功能是靠执行语句来实现的VBA中的几个常用的基本语句注释语句声明语句Option语句赋值语句With语句OnError语句ACCESS数据库应用注释语句、声明语句和option语句注释语句使用Rem语句或用单引号“'”实现声明语句声明语句用于命名和定义过程、变量、数组或常量例如,dimaasintegeroption语句Option语句在模块的开始部分使用,用于对环境状态进行设置。OptionExplicitOptionBase0|1例如:Str1=图书馆借阅管理系统'Str1变量记下图书馆借阅管理系统的名称Str2=Access数据库基础教程RemStr2变量记下Access数据库基础教程字符串ACCESS数据库应用赋值语句功能:给变量或常量指定一个值或表达式。格式:[let]变量名=表达式[对象名.]属性名=表达式(若对象名省略,则默认对象为当前窗体或报表)【例8.15】赋值语句举例Subprogram_clause()BookName=Access数据库基础教程BookPrice=23.40LetBookNumber=1200BookTotalPrice=BookNumber*BookPriceForm1.Caption=图书馆借阅管理系统Text1.text=Text2.textEndSubACCESS数据库应用With语句With语句对象执行一系列的语句,而不用重复指出对象的名称。格式:•With对象•.语句•EndWith【例8.16】改变Command1按钮的属性。Subprogram2()WithCommand1.Caption=确定.Top=500.Enabled=True.FontSize=14EndWithEndSubACCESS数据库应用OnError语句常见的错误主要发生在以下3个方面:语法错误运行错误逻辑错误构造错误陷阱的常用语句:OnErrorGoTo•OnErrorGoTo标号•OnErrorResumeNext•OnErrorGoTo0Err对象Error()函数和Error语句【例8.17】错误捕捉与处理举例。PrivateSubMyproc()OnErrorGoToErrlabel程序语句Errlabel:错误处理代码EndSubACCESS数据库应用3.顺序结构常用的几个输入输出方法:输入:使用文本框使用函数InputBox格式:InputBox(提示信息,[标题][,默认值][,对话框水平位置][,对话框垂直位置])输出:使用文本框使用函数MsgBox格式:MsgBox(显示的信息[,规定显示按钮数量][,标题])ACCESS数据库应用例:摄氏温度转换为华氏温度程序代码如下:SubCtoF()DimCasinteger,FasintegerC=inputbox(“请输入摄氏温度”)F=9/5*C+32Msgbox(f)Endsub表示华氏温度。表示摄氏温度,其中,FC3259CF操作演示ACCESS数据库应用4.选择结构(1)行if语句格式:if条件表达式then语句1条件:是关系表达式或
本文标题:第8章-VBA编程语言
链接地址:https://www.777doc.com/doc-6172540 .html