《模块与VBA编程基础.pptx》由会员分享,可在线阅读,更多相关《模块与VBA编程基础.pptx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1模块与模块与VBA编程基础编程基础n n类模块类模块n n类模块是含有类模块是含有类类类类定义的模块,包括其属性、事件和方法定义的模块,包括其属性、事件和方法的定义。与窗体、报表、控件等紧密关联,如:的定义。与窗体、报表、控件等紧密关联,如:窗体模窗体模窗体模窗体模块块块块和和报表模块报表模块报表模块报表模块都是都是类类类类模块模块,他们从属于各自的窗体和报,他们从属于各自的窗体和报表。表。n nACCESSACCESS中类模块分两种:中类模块分两种:(1).(1).ACCESSACCESS对象的类模块对象的类模块,如窗体模块、报表模块;,如窗体模块、报表模块;(2).(2).用户自定
2、义对象的类模用户自定义对象的类模块块(本书不涉及,后面提到的类模块均指本书不涉及,后面提到的类模块均指ACCESSACCESS对象的类模块对象的类模块)。)。n n如何进入类模块的设计和编辑窗口如何进入类模块的设计和编辑窗口如何进入类模块的设计和编辑窗口如何进入类模块的设计和编辑窗口:n n(1):(1):单击工具栏单击工具栏“代码代码”按钮按钮nn(2):(2):创建窗体或报表的事件过程可以进入类模块的设计和编辑窗口创建窗体或报表的事件过程可以进入类模块的设计和编辑窗口n n窗体模块和报表模块通常含有事件过程,而过程的运行用于响应窗体或报表的事件。(响应事件两种形式:窗体模块和报表模块通常含
3、有事件过程,而过程的运行用于响应窗体或报表的事件。(响应事件两种形式:宏、事件过程)宏、事件过程)1 模块的基本概念模块的基本概念第1页/共29页n n标准模块标准模块n n一般用于存放供其他一般用于存放供其他AccessAccess数据库数据库 对象使用的对象使用的公共工程。公共工程。n n标准模块的设计和编辑窗口标准模块的设计和编辑窗口标准模块的设计和编辑窗口标准模块的设计和编辑窗口:n n单击数据库窗体中的单击数据库窗体中的“模块模块”标签,然后单击标签,然后单击“新新建建”按钮即可进入按钮即可进入n n宏可以转换为模块宏可以转换为模块n n转换方法,选中宏右键转换方法,选中宏右键-另存
4、为模块另存为模块n n宏实现的功能简单,模块能解决复杂问题宏实现的功能简单,模块能解决复杂问题1 模块的基本概念模块的基本概念用户自定用户自定义对象类义对象类模块模块标准模标准模块块ACCESS对象类模块第2页/共29页n n过程是模块的单元组成,分为两种类型:SUB子过程和Function函数过程;模块可以含有一个或多个子过程或函数过程;n nSub过程(子过程)n n没有返回值没有返回值n n调用调用subsub过程的方法:过程的方法:n n(1 1)过程名)过程名n n(2 2)call call 过程名过程名2 创建模块创建模块Sub 过程名 程序代码 End Sub第3页/共29页n
5、 nFunctionFunction过程(函数过程)过程(函数过程)n n有返回值有返回值n n调用调用FunctionFunction过程的方法:过程的方法:n n过程名过程名()()n n注意:注意:不能使用不能使用callcall调用调用n n事件及事件过程事件及事件过程n n事件是事件是AccessAccess窗体或报表及其上的控件等对象可以窗体或报表及其上的控件等对象可以“辨识辨识”的动作,如单的动作,如单击鼠标、打开窗体、打开报表。击鼠标、打开窗体、打开报表。n n事件过程是为了响应某个事件编写的事件过程是为了响应某个事件编写的VBAVBA代码,完成指定动作。代码,完成指定动作。n
6、 n事件过程一般为子过程。事件过程一般为子过程。2 创建模块创建模块Function 过程名 As 数据类型 程序代码End Function第4页/共29页n n面向对象程序设计的基本概念面向对象程序设计的基本概念n n对象对象对象对象:就是一个实体;如表、查询、窗体、报表、控件;:就是一个实体;如表、查询、窗体、报表、控件;n n属性属性属性属性:描述对象的性质;如窗体的标题、窗体的记录源;:描述对象的性质;如窗体的标题、窗体的记录源;n n方法方法方法方法:对象的行为;如文本框设置为焦点:对象的行为;如文本框设置为焦点n n属性的引用属性的引用属性的引用属性的引用n n对象名对象名.属性
7、属性n n例:例:Text1.CaptionText1Text1.CaptionText1文本框的标题文本框的标题n n方法的引用方法的引用方法的引用方法的引用n n对象名对象名.方法方法n n例:例:Text1.SetFocus Text1Text1.SetFocus Text1文本框设为焦点文本框设为焦点 DoCmd.OpenTable ”DoCmd.OpenTable ”学生表学生表”3 VBA程序设计基础程序设计基础第5页/共29页n nDoCmdDoCmd对象对象n nAccessAccess中除数据库的中除数据库的7 7个对象外,还提个对象外,还提供一个重要供一个重要对象对象对象对
8、象:DoCmdDoCmd对象。对象。n n它的主要功能是通过它的主要功能是通过调用其包含的方调用其包含的方调用其包含的方调用其包含的方法实现法实现法实现法实现在在VBAVBA编程中编程中对对对对AccessAccess的操作的操作的操作的操作。n n例:例:Docmd.OpenReport “Docmd.OpenReport “教师信息教师信息”n n例:例:Docmd.RunMacro “Docmd.RunMacro “宏宏1”1”,2 23 VBA程序设计基础程序设计基础对象方法参数第6页/共29页n nVisual BasicVisual Basic编辑环境的使用编辑环境的使用n n如何
9、进入如何进入Visual Basic Visual Basic 编辑器?(进入模块)编辑器?(进入模块)n n每个区域的功能是什么?每个区域的功能是什么?n n“本地窗口本地窗口”“”“立即窗口立即窗口”“”“监视窗口监视窗口”n nVBAVBA代码由语句组成,一条语句就是一行代码;在代码由语句组成,一条语句就是一行代码;在VBAVBA模块中不模块中不能存储单独的语句,必须将语句组织起来形成能存储单独的语句,必须将语句组织起来形成过程过程过程过程,即,即VBAVBA程序程序是块结构,是块结构,它的主体它的主体它的主体它的主体是是事件过程事件过程事件过程事件过程或或自定义过程自定义过程自定义过程
10、自定义过程。n n书写原则:书写原则:nn通常一行一句,也可以使用通常一行一句,也可以使用冒号(冒号(:)把几个语句分隔写在一行中把几个语句分隔写在一行中nn如果一句一行写不下,可以用如果一句一行写不下,可以用续行符(续行符(_ _)将语句连续写到下一行将语句连续写到下一行nn两种注释方式:两种注释方式::Rem /Rem /单引号单引号 3 VBA程序设计基础程序设计基础第7页/共29页n nVBAVBA提供了较为完备的的数据类型,它包含了除提供了较为完备的的数据类型,它包含了除AccessAccess表中的表中的OLEOLE对对象和备注类型以外的其他所有数据类型。象和备注类型以外的其他所有
11、数据类型。4 数据类型数据类型数据类型数据类型类型标识类型标识后缀后缀字节字节 范范 围围默认值默认值字节字节byte1布尔布尔Boolean2True或或False,转换为其他类型时转换为其他类型时True转换为转换为-1,False转换为转换为0;其他类型转为布尔型时,;其他类型转为布尔型时,0转换转换为为False,其他值转换为其他值转换为TrueFalse整数整数Integer%2-32 76832 7670长整数长整数Long&4-2 147 483 6482 147 483 6470单精度数单精度数Single!4负数:负数:-3.402 823E38-1.401 298E-45正
12、数:正数:1.401 298E-453.402 823E380双精度数双精度数Double#8负数:负数:-1.797 693 134 862 32E308-4.946 564 584 124 7E-324正数:正数:4.946 564 584 124 7E-3241.797 693 134 862 32E3080货币货币Currency8-922 337 203 685 477.580 8922 337 203 685 477.580 70字符串字符串String$065 500个字符个字符“”日期型日期型Date8100年年1月月1日日9999年年12月月31日日0对象型对象型Object
13、4变体类型变体类型Variant无数字和双精度同,文本和字符串同数字和双精度同,文本和字符串同Empty 不定不定不定不定第8页/共29页n n常量:常量在程序运行的过程中值不发生改变,常量:常量在程序运行的过程中值不发生改变,VBAVBA中的常量可分为以下中的常量可分为以下3 3种:种:n n直接常量直接常量直接常量直接常量:直接使用的数值或字符串值常量,如:直接使用的数值或字符串值常量,如:123123,“HELLOHELLO”,$123.4$123.4,“厦门理工学院厦门理工学院”,#2010-3-9#2010-3-9#等等n n符号常量符号常量符号常量符号常量:经常使用的常量可以定义成
14、符号常量。定义符号常量用关键:经常使用的常量可以定义成符号常量。定义符号常量用关键词词 Const Const,格式如下:,格式如下:nn例:例:Const Const PIPI=3.1415 =3.1415 (符号常量名称要求大写命名)(符号常量名称要求大写命名)n n系统常量系统常量系统常量系统常量:AccessAccess系统内部包含一些启动时就建立的系统常量,如系统内部包含一些启动时就建立的系统常量,如TrueTrue、FalseFalse、YesYes、NoNo、NullNull、信息框的、信息框的VBYesVBYes、VBNoVBNo、VBInformationVBInformat
15、ion等等5 变量与常量变量与常量第9页/共29页n n变量:在程序运行的过程中允许其值变化的量变量:在程序运行的过程中允许其值变化的量n n变量的命名规则变量的命名规则(与数据表字段名的命名一样)(与数据表字段名的命名一样)(与数据表字段名的命名一样)(与数据表字段名的命名一样)n n以以字母或汉字字母或汉字开头,由字母、数字、下划线和汉字组成。变量名中不能开头,由字母、数字、下划线和汉字组成。变量名中不能包含空格包含空格 ,或除了下划线以外的特殊字符。,或除了下划线以外的特殊字符。n n变量名变量名不区分大小写不区分大小写。例如,变量。例如,变量a a和变量和变量A A表示的是同一个变量表
16、示的是同一个变量n n不能与不能与VBAVBA中的关键字重名。例如,不能用中的关键字重名。例如,不能用ConstConst作为变量的名称作为变量的名称n n长度不超过长度不超过255255个字符个字符5 变量与常量变量与常量第10页/共29页 变量的声明(即定义变量名称和类型,分为显式声明与隐含声变量的声明(即定义变量名称和类型,分为显式声明与隐含声明)明)n n显式声明显式声明:在使用变量之前先:在使用变量之前先声明该变量的变量名和数据类型声明该变量的变量名和数据类型声明该变量的变量名和数据类型声明该变量的变量名和数据类型例:例:Dim a,b as integer Dim a,b as i
17、nteger 定义变量定义变量b b为整型,为整型,变量变量a a没有显式定义,默没有显式定义,默认为变体认为变体VariantVariant变量变量 Dim a as integer,b as integer Dim a as integer,b as integer 定义变量定义变量a a、b b为整形为整形 Dim str1 as String*10 ,str2 as String Dim str1 as String*10 ,str2 as String 定义长度为定义长度为1010的定的定长字符串长字符串str1str1,变长字符串,变长字符串str2str2 Dim x%,y!,z
18、$Dim x%,y!,z$定义定义X X为整形变量,为整形变量,Y Y为为单精度变量单精度变量,Z,Z为变长字符为变长字符串串注意:变量声明后未赋值,会被设定默认值。字符串变量的默认值为空字符注意:变量声明后未赋值,会被设定默认值。字符串变量的默认值为空字符注意:变量声明后未赋值,会被设定默认值。字符串变量的默认值为空字符注意:变量声明后未赋值,会被设定默认值。字符串变量的默认值为空字符串串串串“”“”,数值数据类型为,数值数据类型为,数值数据类型为,数值数据类型为0 0,变体型为空(不定义),变体型为空(不定义),变体型为空(不定义),变体型为空(不定义)5 变量与常量变量与常量第11页/共
19、29页 变量的声明(即定义变量名称和类型,分为显式声明与隐含声明)变量的声明(即定义变量名称和类型,分为显式声明与隐含声明)n n隐含声明隐含声明:变量没有直接定义而在程序中直接使用或:变量没有直接定义而在程序中直接使用或DimDim定义省略了定义省略了AsAs,隐含隐含隐含隐含声明的变量默认为声明的变量默认为声明的变量默认为声明的变量默认为VariantVariant数据类型数据类型数据类型数据类型例:例:Dim m,n Dim m,n mm、n n为变体为变体VariantVariant变量变量 k=2 k=2 k k为变体变量,值是为变体变量,值是2 2 str3=str1+str2 s
20、tr3=str1+str2 n n强制声明强制声明n n强制要求所有变量必须定义(使用强制要求所有变量必须定义(使用DimDim)才能使用)才能使用n n使用使用 Option Explicit Option Explicit 强制当前模块变量必须定义强制当前模块变量必须定义n nDim m,n Dim m,n 可以,虽然没有指定类型但是有定义变量名可以,虽然没有指定类型但是有定义变量名可以,虽然没有指定类型但是有定义变量名可以,虽然没有指定类型但是有定义变量名n nK=2 K=2 不可以,因为没有使用不可以,因为没有使用不可以,因为没有使用不可以,因为没有使用DimDim定义定义定义定义5
21、变量与常量变量与常量第12页/共29页n n1.1.在在ACCESSACCESS中建立一个标准模块中建立一个标准模块“VBAVBA练习练习1 1”;n n2.2.在在“VBAVBA练习练习1 1”模块中,加入一个子过程模块中,加入一个子过程“vba1vba1”;n n3.3.在过程中定义四个整形变量在过程中定义四个整形变量x,y,m1;x,y,m1;定义单精度变量定义单精度变量m2;m2;定义变量定义变量S S为为长度长度1010的定长字符串,的定长字符串,SSSS为变成字符串,定义一个常量为变成字符串,定义一个常量PIPI,值为,值为3.143.14;n n4.4.为为X,YX,Y分别赋值分
22、别赋值2,32,3;s,sss,ss都赋值为都赋值为”access”;”access”;n n5.5.实现实现m1=x*y*PIm1=x*y*PI功能;实现功能;实现m2=x*y*PIm2=x*y*PI功能;实现功能;实现m3=x*y*PIm3=x*y*PI功能;功能;n n6.6.使用使用Debug.PrintDebug.Print输出输出m1,m2m1,m2,m3,m3,输出输出Len(s)Len(s)、Len(ss)Len(ss)并查看结果并查看结果.变量定义练习变量定义练习输出结果:1918.8418.84106第13页/共29页n n变量作用范围变量作用范围(变量的有效范围变量的有效
23、范围)n n局部范围局部范围局部范围局部范围:在模块的过程内部,用:在模块的过程内部,用DimDim、StaticAsStaticAs定义;定义;作用域在作用域在过程内过程内n n模块范围模块范围模块范围模块范围:在模块的通用说明区,用:在模块的通用说明区,用DimDim、StaticStatic、PrivateASPrivateAS定义定义;作用域包含作用域包含模块中模块中的所有过程和函数的所有过程和函数n n全局范围全局范围全局范围全局范围:在模块的通用说明区中,用:在模块的通用说明区中,用publicAs/GlobalpublicAs/Global定义,定义,所有的类模块和标准模块所有的
24、类模块和标准模块的范的范围都可见围都可见5 变量与常量变量与常量第14页/共29页n n数据库对象变量n nForms!Forms!窗体名称窗体名称!控件名称控件名称.属性名称属性名称 n nReports!Reports!报表名称报表名称!控件名称控件名称.属性名称属性名称 属性名称为空时,则为控件的基本属性属性名称为空时,则为控件的基本属性例:窗体例:窗体form1form1上文本框上文本框txt1txt1的值:的值:Forms!form1!txt1Forms!form1!txt1窗体窗体form1form1上按钮上按钮bt1bt1的标题属性:的标题属性:Forms!form1!bt1.c
25、aptionForms!form1!bt1.caption5 变量与常量变量与常量第15页/共29页n n数组定义数组定义n n数组数组:在有规则的结构中含有一种数据类型的一组数据,在有规则的结构中含有一种数据类型的一组数据,数组变量由变量名和数组下标构成,用数组变量由变量名和数组下标构成,用DimDim定义数组:定义数组:Dim 数组名(下标下限 to下标上限)缺省情况下(下标下限未指定值时),下标下限为缺省情况下(下标下限未指定值时),下标下限为0 0例:例:Dim A(10)as Integer Dim A(10)as Integer 定义定义1111个整型数构成的数组,数组元素个整型数
26、构成的数组,数组元素为为A(0)A(0)至至A(10)A(10)Dim A(1 to 10)as Integer Dim A(1 to 10)as Integer 定义定义1010个整型数构成的数组,数组个整型数构成的数组,数组 元素为元素为A(1)A(1)至至A(10)A(10)5 变量与常量变量与常量第16页/共29页n n多维数组多维数组n nDim aa(2,2)as Long Dim aa(2,2)as Long 二维数组,元素个数二维数组,元素个数3*33*3n nDim bb(3,3,3)as Long Dim bb(3,3,3)as Long 三维数组,元素个数三维数组,元素个
27、数4*4*44*4*4n n动态数组动态数组n n先用先用DimDim显式定义数组但不指明数组元素数目,然后用显式定义数组但不指明数组元素数目,然后用ReDimReDim关键字来决定数组包含的元素数关键字来决定数组包含的元素数n nDim NewArray()as LongDim NewArray()as Longn nReDim ReDim NewArrayNewArray(9,9,99,9,9)n nReDim NewArray()ReDim NewArray()5 变量与常量变量与常量第17页/共29页n n1.在“VBAVBA练习练习1 1”模块中定义一个整型数组模块中定义一个整型数组
28、AAAA,数组包含,数组包含6 6个元素,个元素,下标从下标从0 0开始;开始;n n2.2.为为AA(0)AA(0)赋值赋值5656;n n能否直接打印输出数组能否直接打印输出数组?n n不能,数组的元素只能单独打印输出不能,数组的元素只能单独打印输出定义数组练习定义数组练习第18页/共29页n n算术函数n nAbs(-12.34)Abs(-12.34)绝对值绝对值绝对值绝对值n nInt(-12.34Int(-12.34)取整,整数直接取整,负数返回小于等于参数值的第一个负数取整,整数直接取整,负数返回小于等于参数值的第一个负数取整,整数直接取整,负数返回小于等于参数值的第一个负数取整,
29、整数直接取整,负数返回小于等于参数值的第一个负数n nFix(-12.34)Fix(-12.34)取整,整数直接取整,负数返回大于等于参数值的第一个负数取整,整数直接取整,负数返回大于等于参数值的第一个负数取整,整数直接取整,负数返回大于等于参数值的第一个负数取整,整数直接取整,负数返回大于等于参数值的第一个负数n nRound(12.345,2)Round(12.345,2)四舍五入取整四舍五入取整四舍五入取整四舍五入取整n nSqr(81)Sqr(81)开平方函数开平方函数开平方函数开平方函数n nRnd()Rnd()返回一个返回一个返回一个返回一个0-10-1之间的随机数,为单精度之间的
30、随机数,为单精度之间的随机数,为单精度之间的随机数,为单精度例:例:Dim X as SingleDim X as Single,Y!Y!X=12.345 X=12.345 :Y=-12.345 Y=-12.345 Abs(X)Abs(X)Round(X Round(X,2)Round(X2)Round(X)Fix(X)Fix(X)Fix(Y)Fix(Y)Int(X)Int(X)Int(Y)Int(Y)Int(X*100)/100Int(X*100)/100 Sqr(9)Sqr(9)6 常用标准函数常用标准函数第19页/共29页n n字符串函数字符串函数n nInstr(3,“access”,
31、”c”)Instr(3,“access”,”c”)从第三位开始检索从第三位开始检索从第三位开始检索从第三位开始检索,返回子字符串最早出现的位置返回子字符串最早出现的位置返回子字符串最早出现的位置返回子字符串最早出现的位置n nLen(“access”)Len(“access”)返回字符串长度返回字符串长度返回字符串长度返回字符串长度n nLeftLeft、RightRight、MidMid:字符串截取字符串截取字符串截取字符串截取n nSpace(5)Space(5)生成生成生成生成5 5空格字符空格字符空格字符空格字符n nUcase(“aaBBcc”)Ucase(“aaBBcc”)“AAB
32、BCCAABBCC”字符串转换为小写函数字符串转换为小写函数字符串转换为小写函数字符串转换为小写函数n nLcase(“aaBBcc”)Lcase(“aaBBcc”)“aabbccaabbcc”字符串转换为小写函数字符串转换为小写函数字符串转换为小写函数字符串转换为小写函数n nLtrim(“aa bb”)Ltrim(“aa bb”)“aa bb aa bb”删除左边空格函数删除左边空格函数删除左边空格函数删除左边空格函数n nRtrim(“aa bb”)Rtrim(“aa bb”)“aa bb”“aa bb”删除右边空格函数删除右边空格函数删除右边空格函数删除右边空格函数n nTrim(“a
33、a bb”)Trim(“aa bb”)“aa bb”“aa bb”删除开始和尾部空格函数删除开始和尾部空格函数删除开始和尾部空格函数删除开始和尾部空格函数例例:str1=“abcDeabcFG”,str2=“abc”str3=space(3)str1=“abcDeabcFG”,str2=“abc”str3=space(3)instr(st1,str2)instr(3,str1,str2)instr(st1,str2)instr(3,str1,str2)len(len(“厦门理工学院厦门理工学院”)left(str1,3)left(str1,3)right(str1,3)mid(right(st
34、r1,3)mid(“厦门理工学院厦门理工学院”,2,4),2,4)Ucase(str1)Lcase(str1)Ucase(str1)Lcase(str1)6 常用标准函数常用标准函数第20页/共29页n n日期/时间函数6 常用标准函数常用标准函数Date、Time、NowYear、Month、Day、Weekday 返回的是数值返回的是数值Hour、Minute、SecondDateAdd日期日期/事件增加或减少一个时间间隔事件增加或减少一个时间间隔DateDiff计算两个日期的间隔值函数计算两个日期的间隔值函数DatePart返回指定事件部分函数返回指定事件部分函数DateSerial(Y
35、ear(Date()-1,1,1)返回指定年月日的日期函数返回指定年月日的日期函数例D=#2008-3-8#D0=Weekday(D)D1=DateAdd(“m”,7,D)D2=DateDiff(“yyyy”,D1,date()D3=dateserial(2011-2,2,21)D4=dateserial(2011,1,0)第21页/共29页n n类型转换函数6 常用标准函数常用标准函数Asc(“abcd”)返回首字符的返回首字符的ASCII码码09的ASCII码为:4857AZ的ASCII码为:6590az的ASCII码为:97122Chr(65)字符代码(字符代码(ASCII码)转换为字符
36、码)转换为字符Str(123)将数字转换成字符串将数字转换成字符串 注意:一个数字转换为字符串时,会在字符串开头保留一位来表示正负号;正数时,保留空格代表正号,负数时,保留负号(-)Val(“16 35aa”)将字符串转换成数字将字符串转换成数字注意:数字转换时会将字符串中的空格、制表符和换行符去掉,当遇到它不能识别为数字的第一个字符时,停止读入字符串DateValue(“99-9-9”)将字符串转换成日期将字符串转换成日期Nz(简历简历)当表达式当表达式/字段属性值为字段属性值为NULL时,返回时,返回0、“”或其他指定值或其他指定值,不为空时返回原值不为空时返回原值第22页/共29页n n
37、类型转换函数6 常用标准函数常用标准函数例:Asc(“Aab”)chr(50)Len(str(69)str(-69)val(“89abc1”)s=nullst=nz(s)su=nz(s,20)s1=2s1=nz(s1,20)第23页/共29页n n算术运算符算术运算符n n、+、-、*、/、ModModnn:指数运算;:指数运算;323323的的2 2次方次方nn 整数除法;整数除法;10.15/3.510.15/3.5操作数先取整再整数除操作数先取整再整数除nnMod Mod 求模运算;求模运算;-10 Mod -3 -10 Mod -3结果为结果为-1-1 例例例例:(12*5-11*61
38、2*5-11*612*5-11*612*5-11*6)/3 /3 /3 /3 返回返回返回返回-2-2-2-2 (1+21/21+21/21+21/21+21/2)/2 /2 /2 /2 返回返回返回返回1 1 1 1 10 Mod 4 10 Mod 4 10 Mod 4 10 Mod 4 返回返回返回返回2 2 2 2 8 Mod 2 7 Mod 2 8 Mod 2 7 Mod 2 8 Mod 2 7 Mod 2 8 Mod 2 7 Mod 2可以用于奇偶数判断可以用于奇偶数判断可以用于奇偶数判断可以用于奇偶数判断 10+True 10+True 10+True 10+True 返回返回返回
39、返回9 9 9 9 10-False 10-False 10-False 10-False 返回返回返回返回10101010#2008/8/8#-#2008/7/8#2008/8/8#-#2008/7/8#2008/8/8#-#2008/7/8#2008/8/8#-#2008/7/8#返回返回返回返回31313131#2008/8/31#+1#2008/8/31#+1#2008/8/31#+1#2008/8/31#+1 返回返回返回返回#2008-9-1#2008-9-1#2008-9-1#2008-9-1#7 运算符和表达式运算符和表达式第24页/共29页n n关系运算符关系运算符:用来表示
40、两个或多个值或表达式之间的大小关系,结果返回逻辑用来表示两个或多个值或表达式之间的大小关系,结果返回逻辑值值TrueTrue或或FalseFalsen n=、=例:例:例:例:123321 123321 123321 123321 返回返回返回返回TrueTrueTrueTrue “abc”“abcd”“abc”“abcd”“abc”“abcd”“abc”“abcd”返回返回返回返回TrueTrueTrueTrue TrueFalse TrueFalse TrueFalse TrueFalse 返回返回返回返回FalseFalseFalseFalse#2011/3/9#2008/8/21#20
41、11/3/9#2008/8/21#2011/3/9#2008/8/21#2011/3/9#2008/8/21#返回返回返回返回TrueTrueTrueTrue “China”like“*i*”“China”like“*i*”“China”like“*i*”“China”like“*i*”返回返回返回返回TrueTrueTrueTrue7 运算符和表达式运算符和表达式第25页/共29页n n逻辑运算符n nAnd And、Or Or、NotNotn nAnd And 都为真才为真都为真才为真n nOr Or 都为假才为假都为假才为假 例:2332 Or“abc”=“abcd”And 3=4 23
42、32 Or“abc”=“abcd”And 3=4 2332 Or“abc”=“abcd”And 3=4 2332 Or“abc”=“abcd”And 3=4 Not(43)Not(43)Not(43)Not(43)7 运算符和表达式运算符和表达式返回返回TrueTrue返回返回TrueTrue第26页/共29页n n连接运算符n n“&”用来强制两个表达式作字符串连接用来强制两个表达式作字符串连接n n“+”:当两个表达式均为字符串时才连接:当两个表达式均为字符串时才连接例:编号编号&姓名姓名 或或 编号编号+姓名姓名 编号编号编号编号 和和和和 姓名姓名姓名姓名 字段都是文本型(字符串)字段
43、都是文本型(字符串)字段都是文本型(字符串)字段都是文本型(字符串)学号末两位:学号末两位:&right(&right(编号编号,2),2)hello hello&123&123结果为结果为结果为结果为“hello123hello123hello123hello123”hello +123 hello +123 出错出错出错出错“2+3”&”=”&(2+3)“2+3”&”=”&(2+3)结果为结果为结果为结果为“2+3=52+3=52+3=52+3=5”7 运算符和表达式运算符和表达式第27页/共29页n n运算符优先级7 运算符和表达式运算符和表达式优先级优先级 高高 低低高低算数运算符连接运算符比较运算符逻辑运算符指数运算()&=Not负数(-)+And乘法和除法(*、/)求模运算(Mod)=例:25/5 mod 2*3 256*22第28页/共29页