第8章 模块和VBA程序设计.ppt

上传人:qwe****56 文档编号:70105694 上传时间:2023-01-16 格式:PPT 页数:138 大小:2.47MB
返回 下载 相关 举报
第8章 模块和VBA程序设计.ppt_第1页
第1页 / 共138页
第8章 模块和VBA程序设计.ppt_第2页
第2页 / 共138页
点击查看更多>>
资源描述

《第8章 模块和VBA程序设计.ppt》由会员分享,可在线阅读,更多相关《第8章 模块和VBA程序设计.ppt(138页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1/15/20231第8章 模块和VBA程序设计本章要求:本章要求:1、了解、了解VBA编程环境;编程环境;2、掌握、掌握VBA编程基础:常量,变量,表达式;编程基础:常量,变量,表达式;3、掌握顺序控制,选择控制,循环控制、掌握顺序控制,选择控制,循环控制 4、了解、了解VBA模块模块本章要点:本章要点:掌握顺序控制,选择控制,循环控制掌握顺序控制,选择控制,循环控制学时安排:学时安排:6 6学时学时(理论)理论)+6+6学时学时(实践)实践)第第8章章 模块和模块和VBA程序设计程序设计第第8章章 模块和模块和VBA程序设计程序设计 VBA程序设计基础 模块的概念 常用标准函数 VBA的程

2、序结构 VBA的数据库编程 过程调用和参数传递 在Access系统中,把宏、窗体和报表等对象结合起来,不用编写程序代码就可以建立功能较完善的数据库管理系统。但宏的功能是有局限性的,它只能处理一些简单的操作,如果要实现功能强大的数据管理,以及灵活的控制功能,宏对象就无能为力了。这时,就需要编写程序模块来实现上述的功能。本章介绍模块的概念和用来建立模块的VBA语言的基础知识。第第8章章 模块和模块和VBA程序设计程序设计8.1 模块的概念模块的概念 模块对象是Access系统中所包含的7种对象之一,模块和宏的使用有一些相似之处。宏是由系统自动生成的程序模块,而模块对象是用VBA语言编写的,VBA是

3、Office软件中内置的编程语言,语法与Visual Basic兼容。1.模块的分类 在Access中,模块分为类模块和标准模块两种类型。(1)类模块 类模块包括窗体模块和报表模块,它们与各自的 窗体 或报表相关联。窗体模块中的事件过程的代码用于响应窗体或窗体 上控件的触发事件。报表模块中的事件过程的代码用于 响应报表或报表上控件的触发事件。8.1 模块的概念模块的概念 在窗体或报表的设计视图中,可以使用下面方法打开模块代码的编辑窗口:l 工具栏上的“代码”按钮。l 为窗体或报表创建事件过程时,系统会自动打开模块代码编辑窗口。窗体模块和报表模块的作用范围在其所属窗体或报表内部,并随着窗体或报表

4、的打开而开始,随着窗体或报表的关闭而结束。类模块也可以不依赖窗体或报表而单独存在8.1 模块的概念模块的概念(2)标准模块 标准模块包含与任何其他对象都无关的常规过程,以及可以从数据库任何位置运行的经常使用的过程。标准模块和某个特定对象无关的类模块的主要区别在于其范围和生命周期。标准模块显示在数据库窗口的“模块”对象中,窗体、报表和标准模块也都显示在“对象浏览器”对话框中。“对象浏览器”对话框用于显示与当前项目有关和引用对象库中对象、属性、方法和常数的信息。 模块由声明区域和过程两部分组成,声明区域用来声明模块使用的变量,过程是模块的组成单元。过程分为两种类型:子过程(Sub)和函数过程(Fu

5、nction)。(1)子过程 子过程又称为Sub过程,可以执行一系列操作,无返回值。定义格式如下:Sub 过程名 程序代码 End Sub 可以引用子过程的名称来调用该子过程。在过程名前加上关键字Call,可以显式调用一个子过程。8.1 模块的概念模块的概念2模块的组成模块的组成 例:例:简单的计算简单的计算8.1 模块的概念模块的概念任意两个数的和两个3的和两个1的和并且能调用例例:通过窗体事件也可调用子过程通过窗体事件也可调用子过程8.1 模块的概念模块的概念例例8-1:下面是一个简单的验证密码的下面是一个简单的验证密码的SubSub过程。过程。Sub CheckPwd()Dim Pwd

6、As StringPwd=InputBox(“请输入密码!”)If Pwd=”123456”ThenMsgBox”密码正确,欢迎进入系统!”ElseMsgBox”密码错误!”End ifEnd Sub8.1 模块的概念模块的概念(2)函数过程 函数过程又称为Funtion过程,可以执行一系列操作,有返回值。定义格式如下:Function 过程名 程序代码 End Function 调用函数过程时,需要直接引用函数过程的名称,而不能使用不能使用Call来调用执行。8.1 模块的概念模块的概念2模块的组成模块的组成 例8-2:下面是编写求圆面积的函数过程。Function area(r As Si

7、ngle)As Single If r=0 Then MsgBox 圆半径必须是正数!圆半径必须是正数!End If area=3.14159*r*rEnd Function8.1 模块的概念模块的概念调用过程调用过程:例例:通过窗体事件也可调用函数通过窗体事件也可调用函数3将宏转换为模块将宏转换为模块 8.1 模块的概念模块的概念 根据要转换宏的类型不同,转换操作有两种情况,一种是转换窗体或报表中的宏,另一种是转换不属于任何窗体和报表的全局宏。(1)转换窗体或报表中的宏l 在设计视图中打开窗体。l 执行“工具/宏/将窗体的宏转换为Visual Basic代码”命令,屏幕显示“转换窗体宏”对话

8、框。将全局宏转换为模块的具体步骤说明如下:在数据库窗口中,单击“宏”对象,选择要转换的宏。执行“文件”菜单中的“另存为”命令,打开“另存为”对话框(2)转换全局宏8.1 模块的概念模块的概念 在对话框的“保存类型”下拉列表框中,选择“模块”列表项,然后单击“确定”按钮,屏幕显示“转换宏”对话 框。3将宏转换为模块将宏转换为模块 VBA是Visual Basic for Application的缩写,是微软Office系列软件的内置编程语言,与Visual Basic具有相同的语言功能。在VBA中,程序是由过程组成的,过程由根据VBA规则书写的指令组成。一个程序包括语句、变量、运算符、函数、数据

9、库对象、事件等基本要素。在Access程序设计中,当某些操作不能用其他Access对象实现或实现起来很困难时,就可以利用VBA语言编写代码,完成这些复杂任务。8.2 VBA程序设计基础程序设计基础8.2.1 面向对象程序设计的基本概念面向对象程序设计的基本概念 Access内嵌的VBA编程语言,采用的是目前主流的面向对象编程机制和可视化编程环境,同时也提供了访问数据库和操作数据表中记录的基本方法。8.2 VBA程序设计基础程序设计基础1对象和类对象和类 Access中的表、查询、窗体、报表、页、宏和模块等都是数据库的对象,而控件是窗体或报表中的对象。每个不同的对象都通过不同的属性相互区分。对象

10、的属性按其类别会有所不同,而且同一对象的不同实例属性构成也可能有差异。 具有相同属性和方法的对象就组成了类,工具箱中的每个控件就是一个类,而在窗体或报表中创建的具体控件则是这个类的对象。而属于同一个类的两个对象是通过属性值来区分的。8.2 VBA程序设计基础程序设计基础1对象和类对象和类 Access中的表、查询、窗体、报表、页、宏和模块对象也是类,称为对象类。Access数据库窗口左侧显示的就是数据库的对象类,单击某个对象类可以打开相应对象窗口。对象除了属性以外还有方法。对象的方法就是对象可以执行的行为。 属性、方法和事件构成了对象的基本要素。属性属性描述了对象的性质 例如,文本框控件对象中

11、的名称、字体的相关属性等。引用方式为引用方式为:对象.属性 例如:Label6.Caption=area(x)8.2 VBA程序设计基础程序设计基础2属性、方法和事件属性、方法和事件 方法方法描述了对象的行为,即在某个对象上执行的一个过程,例如,打开和关闭报表对象。引用方式为引用方式为:对象.方法 例如:Text1.SetFocus 事件事件是由Access定义好的,可以被窗体、报表以及窗体或报表上的控件等对象所识别的动作。如单击,失去焦点.事件方法属性 使用宏对象来设置事件属性。为某个事件编写VBA代码过程,完成指定动作,这种代码过程称为事件过程或事件响应代码。(对象事件,参考书P199-2

12、00)8.2 VBA程序设计基础程序设计基础 在Access数据库系统里,可以通过以下两种方式来处理窗体、报表或控件的事件响应。8.2.2 VBE编程环境编程环境 VBE是Visual Basic Editor的缩写,是Access提供的一个编程环境。VBE窗口主要由标准工具栏、工程窗口、属性窗口和代码窗口4部分组成.8.2 VBA程序设计基础程序设计基础按钮按钮按钮名称按钮名称作用作用Access视图视图切换切换Access数据库窗口数据库窗口插入模块插入模块用于插入新模块用于插入新模块运行子过程用户窗体运行子过程用户窗体运行模块程序运行模块程序中断运行中断运行中断正在运行的程序中断正在运行

13、的程序终止运行重新设计终止运行重新设计结束正在运行的程序,重新进结束正在运行的程序,重新进入模块设计状态入模块设计状态设计模式设计模式设计模式和非设计模式切换设计模式和非设计模式切换工程项目管理器工程项目管理器打开工程项目管理器窗口打开工程项目管理器窗口属性窗体属性窗体打开属性窗体打开属性窗体对象浏览器对象浏览器打开对象浏览器窗口打开对象浏览器窗口8.2 VBA程序设计基础程序设计基础8.2 VBA程序设计基础程序设计基础编程步骤编程步骤:1创建用户界面创建用户界面 创建VBA程序的第一步是创建用户界面,用户界面的基础是窗体以及窗体上的控件。2设置对象属性设置对象属性 属性的设置可以通过两种方

14、法实现。一是在窗体设计视图中,通过对象的属性表设置;二是通过程序代码设置。3对象事件过程的编写对象事件过程的编写 建了用户界面并为每个对象设置了属性后,重点考虑的就是需要操作哪个对象,激活什么事件,事件代码如何编写。4运行和调试运行和调试 事件过程编写好后,即可运行程序。若在程序运行过程中出错,系统会显示出错信息,这时应针对出错处对事件代码进行修改,然后再运行,直到正确为止。5保存窗体保存窗体8.2.3 VBA的基本数据类型的基本数据类型 VBA支持多种数据类型,可以使用类型说明标点符号来定义数据类型,还可以使用类型说明字符来定义数据类型.8.2 VBA程序设计基础程序设计基础1数据类型数据类

15、型(2).长整形 Long 类型申明符为“&”(1)1)整型整型 integer integer 类型申明符为“%”表示范围:-32768 +32767 -32768 +32767 例:8%-21 +5%5(3).(3).单精度数单精度数 Single Single 类型申明符为“!(E)”最多有7位有效数字,表示范围:-3.402823E+38 (1038)+3.402823E+38 例:例:-3.4!1.0E+2 (1.0-3.4!1.0E+2 (1.0 10 102 2)1数据类型数据类型8.2 VBA程序设计基础程序设计基础 表示范围:-2147483648 +2147483647-2

16、147483648 +2147483647 例如:32768 -21&(4).双精度数 Double类型申明符为“#(D)”最多有15位有效数字,(5).字符型数据 string 类型申明符为“$”字符型数据是用双引号双引号括起来的一串ASCII码字符。专门用来存放文字信息的。字符串是放在双引号内的若干个字符,其中长度为0(即不含任何字符)的字符串称为空字符串。例:例:This a book (6).逻辑型 Boolean 逻辑型数据只有真和假两种值,长度固定为1个字符。1数据类型数据类型8.2 VBA程序设计基础程序设计基础 (7).(7).日期时间型日期时间型 DateDate 日日期期时

17、时间间型型(Date Date TimeTime)数数据据是是描描述述日日期期和和时时间间的的数据,长度固定为数据,长度固定为8 8个字符。个字符。日日期期时时间间型型数数据据除除包包括括日日期期数数据据的的年年、月月、日日外外,还包括时、分、秒以及上午、下午等内容。还包括时、分、秒以及上午、下午等内容。(8).货币型(货币型(Currency)类型申明符为 货币数据为表示钱款而设置的。货币数据为表示钱款而设置的。(9)变体形(变体形(Variant)变体形是指所有未定义的变量默认的数据类型,是变体形是指所有未定义的变量默认的数据类型,是一种可变的数据类型,可以表示任何值一种可变的数据类型,可

18、以表示任何值 1数据类型数据类型8.2 VBA程序设计基础程序设计基础使用数据类型时,应注意以下问题:l布尔型数据(布尔型数据(BooleanBoolean)布尔型数据只有两个值:True和False,布尔型数据转换为其他类型数据时,True转换为-1,False转换为0。其他类型数据转换为布尔型数据时,0转换为False,其他值转换为True。8.2 VBA程序设计基础程序设计基础1数据类型数据类型8.2.3 VBA的基本数据类型的基本数据类型使用数据类型时,应注意以下问题:l日期型数据(日期型数据(DateDate)任何可以识别的文本形式的日期数据都可以赋给日期变量,日期类型数据必须前后用

19、“#”号括住,例如,#20070317#l变体类型数据(变体类型数据(Variant)Variant)VBA中规定,如果没有显式声明或使用符号来定义变量的数据类型,默认为变体类型8.2 VBA程序设计基础程序设计基础1数据类型数据类型8.2.3 VBA的基本数据类型的基本数据类型 在编程过程中,有时需要将某种类型数据转换成另一种数据类型。例如,窗体文本框控件中显示的数值数据为字符串型,要想作为数值处理就应进行数据类型转换。8.2 VBA程序设计基础程序设计基础8.2.3 VBA的基本数据类型的基本数据类型2数据类型之间的转换数据类型之间的转换数据库中对象,如数据库、表、查询、窗体和报表等,也有

20、对应的VBA对象数据类型,这些对象数据类型由引用的对象库所定义。8.2 VBA程序设计基础程序设计基础3对象数据类型对象数据类型8.2.3 VBA的基本数据类型的基本数据类型 用户定义数据类型可以在TypeEndType关键字间定义,定义格式如下:Type 数据类型名 As As EndType8.2 VBA程序设计基础程序设计基础4用户定义的数据类型用户定义的数据类型8.2.3 VBA的基本数据类型的基本数据类型例8-3:定义一个学生信息数据类型。Type NewStudentStuNo As String*8 StuName As String StuSex As String*1 Stu

21、Age As Integer EndType8.2 VBA程序设计基础程序设计基础例8-4:定义一个学生信息类型变量NewStud。Dim NewStud As NewStudentNewStud.StuNo=“07010101”NewStud.StuName=“柳志杰”NewStud.StuSex=“女”NewStud.StuAge=208.2 VBA程序设计基础程序设计基础可以用关键字With简化程序中重复的部分。例如,为上面NewStud变量的赋值语句可以修改为如下形式:With NewStud StuNo=“07010101”.StuName=“柳志杰”.StuSex=“女”.StuA

22、ge=20EndWith8.2 VBA程序设计基础程序设计基础 常量是指在程序运行时其值不会发生变化的数据VBA的常量有直接常量和符号常量两种表示方法。直接常量就是直接表示的整数、单精度数和字符串,如1234、17.28E+9、“StuID”等。符号常量就是用符号表示常量,符号常量有用户定义的符号常量、系统常量和内部常量3种。8.2 VBA程序设计基础程序设计基础8.2.4 VBA的常量、变量、运算符和表达式的常量、变量、运算符和表达式1常量常量(1)用户定义的符号常量 在VBA编程过程中,对于一些使用频度较多的常量,可以用符号常量形式来表示。符号常量使用关键字Const来定义,格式如下:Co

23、nst 符号常量名称=常量值8.2 VBA程序设计基础程序设计基础8.2.4 VBA的常量、变量、运算符和表达式的常量、变量、运算符和表达式1常量常量例如例如:Private Sub Command3_Click()Const pi=3.14 r=10 msgbox “面积为”&pi*r*r End Sub好处是什么?(2)系统常量 系统常量是指Access系统启动时建立的常量,有True、False、Yes、No、On、Off和Null等,编写代码时可以直接使用。(3)内部常量 VBA提供了一些预定义的内部符号常量,它们主要作为DoCmd命令语句中的参数。内部常量以前缀ac开头,如acCmd

24、SaveAs。8.2 VBA程序设计基础程序设计基础1常量常量8.2.4 VBA的常量、变量、运算符和表达式的常量、变量、运算符和表达式 变量是指程序运行时值会发生变化的数据。在程序运行时数据是在内存中存放的,内存中的位置是用不同的名字表示的,这个名字就是变量的名称,该内存位置上的数据就是该变量的值。8.2 VBA程序设计基础程序设计基础2变量变量8.2.4 VBA的常量、变量、运算符和表达式的常量、变量、运算符和表达式(1)变量的命名规则l 在为变量命名时,应遵循以下规则:l 变量名只能由字母、数字和下划线组成。l 变量名必须以字母开头。l 不能使用系统保留的关键字,例如Sub,Functi

25、on 长度不能超过255个字符。l 不区分英文大小写字母,(2)变量类型的定义 根据变量类型定义的方式,可以将变量分为隐含型变量和显示变量两种形式。8.2 VBA程序设计基础程序设计基础2变量变量8.2.4 VBA的常量、变量、运算符和表达式的常量、变量、运算符和表达式(2)变量类型的定义 根据变量类型定义的方式,可以将变量分为隐含型变量和显示变量两种形式。隐含型变量 利用将一个值指定给变量名的方式来建立变量,如:NewVar=127 当在变量名称后没有附加类型说明字符来指明隐含变量的数据类型时,默认为Variant数据类型。8.2 VBA程序设计基础程序设计基础2变量变量8.2.4 VBA的

26、常量、变量、运算符和表达式的常量、变量、运算符和表达式 显式变量 显式变量是指在使用变量时要先定义后使用 定义显式变量的方法如下:Dim 变量名 As 类型名 在一条Dim语句中可以定义多个变量,如:Dim Var1,Var2 as String 在模块设计窗口的顶部说明区域中,可以加入Option Explict语句来强制要求所有变量必须定义才能使用。8.2 VBA程序设计基础程序设计基础2变量变量8.2.4 VBA的常量、变量、运算符和表达式的常量、变量、运算符和表达式在VBA编程语言中,可以将运算符分为算术运算符、关系运算符、逻辑运算符和连接运算符4种类型。不同的运算符用来构成不同的表达

27、式,来完成不同的运算和处理。表达式是由运算符、函数和数据等内容组合而成的,根据运算符的类型可以将表达式分为算数表达式、关系表达式、逻辑表达式和字符串表达式4种类型。(1)算术运算符 算术运算符用于数值的算术运算,VBA中的算术运算符有7个8.2 VBA程序设计基础程序设计基础3运算符和表达式运算符和表达式运算符运算符运算符含义运算符含义举例举例+加加3+7 3+7 结果结果1010-减减9-1 9-1 结果结果8 8*乘乘4*5 4*5 结果结果2020/除除7/2 7/2 结果结果3.53.5 整除整除52 52 结果结果2 2ModMod求模求模9Mod5 9Mod5 结果结果4 4 乘幂

28、乘幂42 42 结果结果8 88.2 VBA程序设计基础程序设计基础 算术运算符之间存在优先级,优先级是决定算术表达式的运算顺序的原则,算术运算符优先级从高到低依次为乘幂、乘除法、整数除法、求模和加减法。由算术运算符、数值、括号和正负号等构成的表达式称为算术表达式。在算术表达式中,括号和正负号的优先级比算术运算符要高,括号比正负号的优先级高。例8-17:算术表达式-8+20*4 Mod 6(52)的结果。计算 的过程如下:1)计算(52)的结果为2,表达式化为-8+20*4 Mod 6 2 2)计算6 2的结果为36,表达式化为-8+20*4 Mod 3 3)计算20*4的结果为80,表达式化

29、为-8+80 Mod36 4)计算80 Mod 36的结果为8,表达式化为-8+8 5)计算-8+8的结果为0 8.2 VBA程序设计基础程序设计基础(2)关系运算符 关系运算符用来表示两个值或表达式之间的大小关系,从而构成关系表达式。6个关系运算符的优先级是相同的,如果它们出现在同一个表达式中,按照从左到右的顺序依次运算。但关系运算符比算术运算符的优先级低。关系运算的结果为逻辑值:真(True)和假(False)。8.2 VBA程序设计基础程序设计基础3运算符和表达式运算符和表达式运算符运算符运算符含义运算符含义举例举例 大于大于85 85 结果结果TrueTrue 小于小于54 5=大于或

30、等于大于或等于9=5 9=5 结果结果TrueTrue=小于或等于小于或等于4=9 4=9 结果结果TrueTrue不等于不等于22 22 结果结果FalseFalse8.2 VBA程序设计基础程序设计基础(3)逻辑运算符 逻辑运算符也叫布尔运算符,用于完成逻辑运算。VBA中有与(And)、或(Or)和非(Not)等6个逻辑运算符运算符运算符运算运算含义含义AndAnd与与两个表达式同时为真则为真,否则为假两个表达式同时为真则为真,否则为假OrOr或或两个表达式中有一个为真则为真,否则为假两个表达式中有一个为真则为真,否则为假NotNot非非由真变假或由假变真由真变假或由假变真XorXor异或

31、异或两个表达式的值相同时为假,不同时为真两个表达式的值相同时为假,不同时为真EqvEqv等价等价两个表达式的值相同时为真,不同时为假两个表达式的值相同时为真,不同时为假ImpImp蕴含蕴含当第一个表达式为真,且第二个表达式为假,则值为假,否则为真当第一个表达式为真,且第二个表达式为假,则值为假,否则为真8.2 VBA程序设计基础程序设计基础 使用逻辑运算符可以对两个逻辑量进行逻辑运算,其结果仍为逻辑值真(True)或假(False)逻辑运算符的优先级低于关系运算符,常用的3个逻 辑运算符之间的优先级由高到低依次为:非运算Not,与运算符(And),或运算符(Or)。8.2 VBA程序设计基础程

32、序设计基础(4)连接运算符 连接运算符具有连接字符串的功能。在VBA中有“&”和“+”两个运算符。l “&”运算符用来强制两个表达式作字符串连接。l “+”运算符是当两个表达式均为字符串数据时,才将 两个字符串连接成一个新字符串。当一个表达式由多个运算符连接在一起时,运算进行的先后顺序是由运算符的优先级决定的。优先级高的运算先进行,优先级相同的运算依照从左向右的顺序进行。上述4种运算符的优先级由高到低依次为算术运算符、连接运算符、关系运算符、逻辑运算符。返返 回回8.2 VBA程序设计基础程序设计基础3运算符和表达式运算符和表达式 在VBA中提供了近百个内置的标准函数,用户可以直接调用标准函数

33、来完成许多操作。标准函数的调用形式如下:函数名(参数表列)数学函数用来完成数学计算功能8.3 常用标准函数常用标准函数 1数学函数数学函数函数函数功能功能Sin(x)返回自变量返回自变量x的正弦值的正弦值Cos(x)返回自变量返回自变量x的余弦值的余弦值Sqr(x)返回自变量返回自变量x的平方根的平方根Exp(x)返回以返回以e为底、以为底、以x为指数的值,即求为指数的值,即求e的的x次方次方Log(x)返回自变量返回自变量x的自然对数,即相当于数学函数的自然对数,即相当于数学函数Ln(x)Int(x)返回小于或等于返回小于或等于x的最大整数的最大整数;Fix(x)返回数据的整数部分返回数据的

34、整数部分Round(x,n)返回有返回有n位小数的位小数的x,n位以后的数四舍五入位以后的数四舍五入例8-20:常用数学函数举例如下:Abs(-7)=7Exp(2)=7.389 056 098 930 65Log(6)=1.791 759 469 228 05Sqr(25)=5Int(6.28)=6,Fix(6.28)=6Int(-6.28)=-7,Fix(-6.28)=-6Sin(90*3.14159/180)Cos(45*3.14159/180)Tan(30*3.14159/l80)Int(100*Rnd)Int(101*Rnd)8.3 常用标准函数常用标准函数字符串函数完成字符串处理功能

35、。(1)字符串检索函数函数格式:InStr(Start,Strl,Str2,Compare)函数功能:检索子字符串Str2在字符串Strl中最早出现的位置,返回整型数。8.3 常用标准函数常用标准函数2字符串函数字符串函数例8-21:已知Strl=“123456”,Str2=“56”。s=InStr(strl,str2)返回5 s=InStr(3,“aBCdAb”,“a”,1)返回(2)字符串长度检测函数函数格式:Len(字符串表达式或变量名)函数功能:返回字符串中所包含字符个数。参数说明:对于定长字符串变量,其长度是定义时的长度,和字符串实际值无关。(3)字符串截取函数函数格式:Left(字

36、符串表达式,N)Right(字符串表达式,N)Mid(字符串表达式,N1,N2)8.3 常用标准函数常用标准函数2字符串函数字符串函数 (4)生成空格字符函数函数格式:Space(数值表达式)函数功能:Space函数可以返回数值表达式的值指定的空格字符数。8.3 常用标准函数常用标准函数2字符串函数字符串函数5)大小写转换函数函数格式:Ucase(字符串表达式)Lcase(字符串表达式)函数功能:Ucase函数可以将字符串中小写字母转成大写字母。Lcase函数可以将字符串中大写字母转成小写字母。(6)删除空格函数函数格式:LTrim(字符串表达式)RTrim(字符串表达式)Trim(字符串表达

37、式)函数功能:LTrim函数可以删除字符串的开始空格。RTrim函数可以删除字符串的尾部空格。Trim函数可以删除字符串的开始和尾部空格。8.3 常用标准函数常用标准函数2字符串函数字符串函数日期/时间函数的功能是处理日期和时间。主要包括以下函数:(1)获取系统日期和时间函数函数格式:Date Time Now函数功能:Date函数可以返回当前系统日期。Time函数可以返回当前系统时间。Now函数可以返回当前系统日期和时间。8.3 常用标准函数常用标准函数3日期日期/时间函数时间函数(2)截取日期分量函数函数格式:Year(日期表达式)Month(日期表达式)Day(日期表达式)Weekday

38、(日期表达式,W)函数功能:Year函数可以返回日期表达式年份的整数。Month函数可以返回日期表达式月份的整数。Day函数可以返回日期表达式日期的整数。Weekday函数可以返回17的整数,表示星期。参数说明:Weekday函数中,参数W可以指定一个星期的第一天是星期几。缺省时周日是一个星期的第一天,W的值为vbSunday或1。8.3 常用标准函数常用标准函数3日期日期/时间函数时间函数(3)截取时间分量函数函数格式:Hour(时间表达式)Minute(时间表达式)Second(时间表达式)函数功能:Hour函数可以返回时间表达式的小时数(0-23)。Minute函数可以返回时间表达式的分

39、钟数(0-59)。Second函数可以返回时间表达式的秒数(059)。8.3 常用标准函数常用标准函数3日期日期/时间函数时间函数(1)字符串转换字符代码函数函数格式:Asc(字符串表达式)函数功能:Asc函数可以返回字符串首字符的ASCII值。(2)字符代码转换字符函数函数格式:Chr(字符代码)函数功能:Chr函数可以返回与字符代码相关的字符。8.3 常用标准函数常用标准函数4类型转换函数类型转换函数类型转换函数可以将数据类型转换成指定类型。(4)字符串转换成数字函数函数格式:Val(字符串表达式)函数功能:Val函数可以将数字字符串转换成数值型数字。参数说明:数字字符串转换时可自动将字符

40、串中的空格、制表符和换行符去掉,当遇到第一个不能识别的字符时,停止转换。8.3 常用标准函数常用标准函数(3)数字转换成字符串函数函数格式:Str(数值表达式)函数功能:Str函数可以将数值表达式值转换成字符串。参数说明:数值表达式的值为正时,返回的字符串将包含一个前导空格。4类型转换函数类型转换函数5验证函数验证函数Access提供了一些对数据进行校验的函数8.3 常用标准函数常用标准函数 输入框函数用于在一个对话框中显示提示,等待用户输入正文并按下按钮,然后返回包含文本框内容的数据信息。函数格式:InputBox(Prompt,Titlel(,Default,Xpos,Ypos,Helpf

41、ile,Context)8.3 常用标准函数常用标准函数6输入框函数输入框函数例例:Private Sub Command1_Click()q1=InputBox(“请输入您的身份证号请输入您的身份证号”,“输入身份证号输入身份证号”,“19781201”)msgbox “你的你的身份证号是身份证号是:”&q1End Sub提示提示缺省缺省标题标题提示提示缺省缺省标题标题消息框用于在对话框中显示消息,等待用户单击按钮,并返回一个整型值指示用户单击了哪一个按钮。函数格式:MsgBox(Prompt,Buttons,Title,Helpfile,Context)8.3 常用标准函数常用标准函数7消

42、息框函数消息框函数8.3 常用标准函数常用标准函数函数实验方法:在VBE环境中打开”视图/立即窗口” 一个程序由多条不同功能的语句组成,每条语句能够完成某个特定的操作。在VBA程序中,按照功能的不同将程序语句分为声明语句和执行语句两类。声明语句用于定义变量、常量或过程。执行语句用于执行赋值操作、调用过程和实现各种流程控制。执行语句可以根据流程的不同分为顺序结构、条件结构和循环结构3种。顺序结构是按照语句的先后顺序依次执行。条件结构是根据条件选择执行不同的分支语句,又称为选择结构。循环结构是根据某个条件重复执行某一段程序语句。8.4 VBA的程序结构的程序结构8.4.1 语句语句(1)Rem语句

43、 语句格式:Rem 注释内容(2)英文单引号“”语句格式:注释内容注释可以添加到程序模块的任何位置,并且默认以绿色文本显示。8.4 VBA的程序结构的程序结构8.4.1 语句语句1注释语句注释语句声明语句用于命名和定义常量、变量、数组和过程,同时也定义了它们的生命周期与作用范围。2声明语句声明语句赋值语句是为变量指定一个值或表达式。格式:Let 变量名=值或表达式 例如:x=y x=x+1 label0.caption=“总成绩”Text11=“欢迎使用Access”8.4 VBA的程序结构的程序结构3赋值语句赋值语句4GoTo语句语句GoTo语句和语句标号一起用于实现无条件跳转。语句格式为:

44、GoTo 语句标号8.4.1 语句语句8.4 VBA的程序结构的程序结构8.4.1 语句语句例:例:计算鸡兔同笼分析:h代表头,F代表脚,c代表鸡.R代表兔子 R+C=H 2C+4R=F 2-得:R=(F-2H)/2C=H-R8.4 VBA的程序结构的程序结构8.4.1 语句语句例:例:计算鸡兔同笼Private Sub Command8_Click()Dim h%,f%,c!,r!h=Text0 f=Text2 r=(f-2*h)/2 c=h-r Text4=c Text6=r End S 条件语句可以根据条件表达式的值来选择程序运行的分支语句,主要有以下一些结构:8.4 VBA的程序结构的

45、程序结构8.4.2 条件语句条件语句(1)单分支If语句格式:If 条件表达式 Then 语句序列 End If 当程序执行到这种格式的If语句时,如果条件表达式为真,将执行Then后面的语句序列,如果条件表达式为假,程序将跳过语句序列而直接执行End If后面的语句。1If语句语句例:完善鸡兔同笼,当算出的数据为小数时,不输出8.4 VBA的程序结构的程序结构1If语句语句8.4.2 条件语句条件语句(2)双分支If语句格式:If 条件表达式 Then语句序列1Else语句序列2End If当程序执行到这种格式的If语句时,如果条件表达式为真,将执行Then和Else之间的语句序列1,如果条

46、件表达式为假,程序将执行Else和End If之间的语句序列。8.4 VBA的程序结构的程序结构8.4.2 条件语句条件语句1If语句语句例:例:完善鸡兔同笼,当算出的数据正确时输出,错误时提醒完善鸡兔同笼,当算出的数据正确时输出,错误时提醒8.4 VBA的程序结构的程序结构Dim x As Integerx=MsgBox(“真的要退出系统吗?”,1+64+0,“信息提示”)If x=VbOk ThenMsgBox“你单击了确定按钮!”,0+64+0,“信息提示”ElseMsgBox“你单击了取消按钮!”,0+64+0,“信息提示”End If8.4 VBA的程序结构的程序结构例8-38:双分

47、支If语句举例。(3)嵌套的If语句格式:If 条件表达式1 Then语句序列1ElseIf 条件表达式2 Then语句序列2Else语句序列3End IfEnd If8.4 VBA的程序结构的程序结构1If语句语句8.4.2 条件语句条件语句格式:If 条件表达式1 Then语句序列1ElseIf 条件表达式2 Then语句序列2Elseif 条件表达式3 Then语句序列3else 语句序列nEnd IfEnd I方法二方法二:Dim x!Dim x!X=X=inputbox(inputbox(“x x=”)If x0 Theny=Sqr(x)ElseIf x=0 Theny=0Elsey

48、=Abs(x)End IfMsgbox y8.4 VBA的程序结构的程序结构例例8-39:使用使用If语句嵌套结构计算表达式语句嵌套结构计算表达式y的值。的值。(x)1/2 x=0Y=0 x=0 IxI x0 Theny=Sqr(x)Else if x=0 then y=0 Else y=Abs(x)endifEnd IfMsgbox 当条件选项较多时,Select语句就可以解决多重嵌套控制结构这类问题。格式:Select Case 表达式 Case 表达式1 语句序列1 Case 表达式2语句序列2 Case 表达式 n 语句序列n Case Else 语句序列n+1 End Select8

49、.4 VBA的程序结构的程序结构8.4.2 条件语句条件语句2Select语句语句Case表达式可以是下列4种格式之一:l 单一数值,如Case 2。l 一行并列的数值,数值之间用逗号隔开,如Case 5,6,7l 用关键字To分隔开两个数值或表达式之间的范围,如Case 1 to 10l 用关键字Is连接关系运算符,如=、=,后面跟变量或具体的值,Is=15。Case语句是依次测试的,并执行第一个符合Case条件的相关的程序代码,即使再有其他符合条件的分支也不会再执行。如果没有找到符合条件的,并且有Case Else语句,就会执行该语句后面的程序代码。8.4 VBA的程序结构的程序结构2Se

50、lect语句语句例:根据用户从键盘输入的数据,判断输入字符的类型。8.4 VBA的程序结构的程序结构2Select语句语句Dim str$,x$x=InputBox(x)Select Case x Case A To Z str=UpperCase Case a To z str=LowerCase Case 0 To 9 str=Number Case Else str=其他符号 End SelectMsgBox x&例:例:将百分制成绩按要求转换成相应的等次输出。8.4 VBA的程序结构的程序结构2Select语句语句Private Sub Command0_Click()Dim r!,G

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁