常用函数.docx
《常用函数.docx》由会员分享,可在线阅读,更多相关《常用函数.docx(10页珍藏版)》请在冰豆网上搜索。
常用函数
常用的内部函数
1、算术函数
算术函数完成数学计算功能。
主要包括以下算术函数:
1)绝对值函数:
Abs(<表达式>)
返回数值表达式的绝对值。
如Abs(-3)=3
2)向下取整函数:
Int(<数值表达式>)
返回数值表达式的向下取整数的结果,参数为负值时返回小于等于参数值的第一负数。
3)取整函数:
Fix(<数值表达式>)
返回数位表达式的整数部分,参数为负值时返回大于等于参数值的第一负数。
Int和Fix函数当参数为正值时,结果相同;当参数为负时结果可能不同。
Int返回小于等于参数值的第一个负数,而Fix返回大于等于参数值的第一负数。
例如:
Int(3.25)=3,Fix(3.25)=3但Int(-3.25)=-4,Fix(-3.25)=-3
4)四舍五入函数:
Round(<数值表达式>[,<表达式>])
按照指定的小数位数进入四舍五入运算的结果。
[<表达式>]是进入四舍五入运算小数点右边应保留的位数。
例如:
Round(3.255,1)=3.3;Round(3.255,2);Round(3.754,1)=3.28;Round(3.754,2)=3.75;Round(3.754,0)=4
5)开平方函数:
Sqr(<数值表达式>)
计算数值表达式的平方根。
例如:
Sqr(9)=3
6)产生随机数函数:
Rnd(<数值表达式>)
产生一个0-1之间的随机数,为单精度类型。
数值表达式参数为随机数种子,决定产生随机数的方式。
如果数值表达式值小于0,每次产生相同的随机数;如果数值表达式值大于0。
每次产生新的随机数;如果数值表达式值等于0,产生最近生成的随机数,且生成的随机数序列相同;如果省略数值表达式参数,则歌认参数位大于0。
实际操作时,先要使用无参数的Randomize语句初始化随机数生成器。
以产生不同的随机数序列。
例如:
Int(100*Rnd) ’产生[0,99]的随机整数
Int(101*Rnd) ’产生[0,100]的随机整数
Int(100,Rnd+l) ’产生[i,l00]的随机整数
Int(100+200*Rnd) ’产生[100,299]的随机整数
Int(100+201*Rnd) ’产生[100,300]的随机整数
2、字符串函数
1)字符串检索函数:
InStr([Start,],[,Compare])
检索子字符申Str2在字符串Strl中最早出现的位置,返回一整型数。
Start为可选参数,为数值式,设置检索的起始位置。
如省略,从第一个字符开始检索;如包含Null值,发生错误。
Compare也为可选参数,指定字符串比较的方法。
值可以为1、2和0(缺省)。
指定0(缺省)做二进制比较,指定1做不区分大小写的文本比较,指定2来做基于数据库中包含信息的比较。
如值为Null,会发生错误。
如指定了Compare参数,则一定要有Start参数。
注意,如果Strl的申长度为零,或Str2表示的申检索不到,则InStr返回0;如果Str2的串长度为零,InStr返回Start的值。
例如:
strl=“98765”
str2=“65”
s=InStr(strl,str2) ’返回4
s=InStr(3,“aSsiAB”,“a”,1) ’返回5。
从字符s开始,检索出字符A
2)字符申长度检测函数:
Len(<字符申表达式>或<变量名>)
返回字符串所含字符数。
注意,定长字符,其长度是定义时的长度,和字符串实际值无关。
例如:
DimstrAsString*10
Dimi
str=“123”
i=12
lenl=Len(“12345”) ’返回5
len2=Len(12) ’出错
len3=Len(i) ’返回2
len4=Len(“考试中心”) ’返回4
len4=Len(str) ’返回10
3)字符串截取函数
Left(<字符串表达式>,):
字符串左边起截取N个字符。
Right(<字符串表达式>,):
字符串右边起截取N个字符。
Mid(<字符串表达式>,,[N2]):
从字符申左边第N1个字符起截取N2个字符。
注意,对于Left函数和Right函数,如果N值为0,返回零长度字符串;如果大于等于字符串的字符数,则返回整个字符串。
对于Mid函数,如果N1值大于字符申的字符数,返回零长度字符串;如果省略N2,返回字符串中左边起N1个字符开始的所有字符。
例如:
strl=“opqrst”
str2=“计算机等级考试”
str=Left(strl,3) ’返回“opq”
str=Left(str2,4) ’返回“计算机等”
str=Right(strl,2) ’返回“st”
str=Right(str2,2) ’返回“考试”
str=Mid(strl,4,2) ’返回“rs”
str=Mid(str2,1,3) ’返回“计算机”
str=Mid(str2,4,) ’返回“等级考试”
4)生成空格字符函数:
Space(<数值表达式>)
返回数值表达式的值指定的空格字符数。
例如:
strl=Space(3) ’返回3个空格字符
5)大小写转换函数
Ucase(<字符串表达式>):
将字符串中小写字母转换成大写字母。
Lcase(<字符串表达式>):
将字符串中大写字母转换成小写字毋。
例如:
strl=Ucase(“fHkrYt”) ’返回“FHKRYT”
str2=Lcase(“fHKrYt”) ’返回“fhkryt”
6)删除空格函数
Ltrim(<字符串表达式>):
删除字符串的开始空格。
Rtrim(<字符串表达式>):
删除字符串的尾部空格。
Trim(<字符串表达式>):
删除字符串的开始和尾部空格。
例如:
str=“abcde”
str1=Ltrim(str) ’返回“abcde”
str2=Rtrim(str) ’返回“abcde”
str3=Trim(str) ’返回“abcde”
3、日期/时间函数
日期/时间函数的功能是处理日期和时间。
主要包括以下函数:
1)获取系统日期和时间函数
Date():
返回当前系统日期。
Time():
返回当前系统时间。
Now():
返回当前系统日期和时间。
例如:
D=Date() ’返回系统气气,如2008-08-08
T=Time() ’返回系统时间,如9:
45:
00
DT=Now() ’返回系统日期和时间,如2008-08-089:
45:
00
2)截取日期分量函数
Year(<表达式>):
返回日期表达式年份的整数。
Month(<表达式>):
返回日期表达式月份的整数。
Day(<表达式>):
返回日期表达式日期的整数。
Weekday(<表达式>[.W]):
返回1-7的整数,表示星期几。
Weekday函数中,返回的星期值见表8.5所示。
例如:
D=#2008-8-8#
YY= Year(D) ’返回2008
MM=Month(D) ’返回8
DD=Day(D) ’返回8
WD=Weekday(D) ’返回6,因2008-8-8为星期五
3)截取时间分量函数
Hour(<表达式>):
返回时间表达式的小时数(0-23)。
Minute(<表达式>):
返回时间表达式的分钟数(0-58)
Second(<表达式>):
返回时间表达式的秒数(0-59)。
例如:
T=#10:
40:
11#
HH=Hours(T) ’返回10
MM=Minute(T) ’返回40
SS=Second(T) ’返回11
4)日期/时间增加或减少一个时间间隔
DateAdd(<间隔类型>,<间隔值>,<表达式>):
对表达式表示的日期按照间隔类型上或减去指定的时间间隔值。
注意,间隔类型参数表示时间间隔,为一个字符串,其设定值见表8.6所示;间隔值参数表示时间间隔的数目,数值可以为正数(得到未来的日期)或负数(得到过去的日期)。
例如:
D=#2004-2-2910:
40:
11#
D1=DateAdd("YYYY",3,D) ’返回#2007-2-28l0:
40:
11#,日期加3年
D2=DateAdd("q",1,D) ’返回#2004-5-2910:
40:
11#,日期加1季度
D3=DateAdd("m",-2,D) ’返回#2003-12-2910:
40:
11#,日期减2月
D4=DateAdd("d",3,D) ’返回#2004-3-310:
40:
11#,日期加3日
D5=DateAdd("ww",2,D) ’返回#20Q4-3-1410:
40:
11#,日期加2周
D6=DateAdd("n",-150,D) ’返回#2004-2-298:
10:
11#,日期减150分钟
5)计算两个日期的间隔值函数
DateDiff(<间隔类型>,<日期1>,<日期2>[,W1][,W2]):
返回日期1和日期2之间按照间隔类型所指定的时间间隔数目。
注意,间隔类型参数表示时间间隔,为一个字符串,其设定值见表8.6所示。
参数W1为可选项,是一个指定一星期的第一天是星期几的常数,如省略,默认为vbSunday,即周日返回1、周一返回2,以此类推,其参数设定值见表8.5所示。
参数W2也为可选项,是一个指定一年的第一周的常数,如省略,默认值为vhFirstJan1,即包含1月1日的星期一为第一周,其参数设定值见表8.7所示。
例如:
D1=#2003-5-2820:
8:
36#
D2=#2004-2-2910:
40:
11#
n1=DateDiff("yyyy",D1,D2) ’返回1,间隔1年
n2=DateDiff("q",D1,D2) ’返回3,间隔3季度
n3=DateDiff("m",D2,D1) ’返回-9,间隔9月
n4=DateDiff("ww",D1,D2) ’返回40,间隔40周
n5=DateDiff("n",D1,D2), ’返回398312,间隔398312分钟
6)返回日期指定时间部分函数
DatePart(<间隔类型>,<日期1>,<日期2>[,W1][,W2]):
返回日期中按照间隔类型
所指定的时间部分值。
注意,间隔类型参数表示时间间隔,为一个字符串。
其设定值见表8.6所示。
参数W1为可选项,是一个指定一星期的第一天是星期几的常数,如省略,默认为vbSunday,即周日返回1、周一返回2,以此类推,其参数设定值见表8.5所示。
参数W2也为可选项,是一个指定一年的第一周的常数,如省略,默认值为,vbFirstJan1,即包含1月1日的星期为第一周,其参数设定值见表8.7所示。
例如:
D=#2004-2-2910:
40:
11#
n1=DatePart("yyyy",D) ’返回2004
n2=DatePart("d",D) ’返回29
n3=DatePart("ww",D) ’返回10
7)返回包含指定年月日的日期函数
DateSerial(表达式1,表达式2,表达式3):
返回由表达式1值为年、表达式2值为月、表达式3值为日而组成的日期值。
注意,每个参数的取值范围应该是可接受的;即日的取值范围应在1-31之间,而月的取值范围应在1-12之间。
此外,当任何一个参数的取值超出可接受的范围时,它会适时进位到下一个较大的时间单位。
例如,如果指定了35天,则这个天数被解释成一个月加上多出来的日数,多出来的日数将由其年份与月份来决定。
例如:
D=DateSerial(2008,2,29),返回#2008-2-29#
D=DateSerial(2008-l,8-2,0),返回##2008-5-31#
4、类型转换函数
类型转换函数的功能是将数据类型转换成指定数据类型。
例如,窗体文本框中显示的数值数据为字符串型,要想作为数值处理就应进行数据类型转换。
表8.8中已经列出了“C-”开头的一些类型转换函数。
下面再介绍另外一些类型转换函数。
1)字符串转换字符代码函数:
Asc(<字符申表达式>)
返回字符申首字符的ASCII值。
例如:
s=Asc("abcdef"),返回97
2)字符代码转换字符函数:
Chr(<字符代码>)
返回与字符代码相关的字符。
例如:
s=Chr(70),返回f;s=Chr(13),返回回车符
3)数字转换成字符串函数:
Str(<数值表达式>)
将数值表达式值转换成字符串。
注意,当一数字转成字符串时,总会在前头保留一空格来表示正负。
表达式值为正,返回的字符串包含一前导空格表示有一正好。
例如:
s=Str(99) ’返回“99”,有一前导空格
s=Str(-6) ’返回“-6”
4)字符串转换成数字函数:
Val(<字符串表达式>)
将数字字符串转换成数值型数字。
注意,数字串转换时可自动将字符串中的空格、制表符和换行符去掉,当遇到它不能识别为数字的第一个字符时,停止读入字符串。
例如:
s=Val("") ’返回16
s=Val("") ’返回345
s=Val("") ’返回76
5)字符串转换日期函数:
DateValue(<字符串表达式>)
将字符串转换为日期值。
例如:
D=DateValue("February29,2004"),返回#2004-2-29#
6)Nz函数:
Nz(表达式或字段属性值[,规定值」)
当一个表达式或字段属性值为Null时,函数可返回0、零长度字符申("")或其他指定位。
例如,可以使用该函数将Null值转换为其他值。
当省略“规定值”参数时,如果“表达式或字段属性值”为数值型且值为Null,Nz函数返回0;如果“表达式或字段属性值”为字符型且值为Null,Nz函数返回空字符申("")。
当“规定值”参数存在时,该参数能够返回一个除0或零长度字符申以外的其他值。
7)Choose()函数
根据第一参数,返回后面字符串组的值,Choose(1,"a","b","c")返回a,将1改成2后,返回b,改成3后,返回c(第一个参数也可以是某个字段)
8)IIF()函数
根据表达返回特定的值IIF("3>1","OK","False"),返回OK
9)Switch()函数
该函数可用于多条件选择操作。
调用格式为:
Switch(条件式1,表达式1[,条件式2,表达式2]…[,条件式n,表达式n])
功能:
函数分别根据“条件式1”、“条件式2”直至“条件式n”的值来决定返回值。
条件式是由左至右进行计算判断的,函数将返回第一个条件式为True的对应“表达式”的值。
若函数中条件式与表达式不配对,则发生运行错误;若有多个条件式为真(True),函数返回为真的第一个条件式后的“表达式”的值。
例如:
y=switch(x<0,abs(x)*abs(x),x=0,4,x>0,sqr(x))
(10)DCount()函数
Dcount函数用于返回指定记录集中的记录数。
语法格式为:
DCount(表达式,记录集[,条件式])
参数说明:
表达式:
用于标识要统计其记录数的字段。
记录集:
字符串表达式,可以是表的名称或查询的名称。
条件式:
可选的字符串表达式,用于限制DCount函数执行的数据范围。
等价于SQL表达式中的WHERE子句,只是不含WHERE关键字。
如果忽略条件式,DCount函数在整个记录集内计算。
(11)DAvg()函数
DAvg函数用于计算指定记录集中某个字段列数据的平均值。
可以在VBA代码、宏、查询表达式或计算控件中使用。
语法格式为:
DAvg(表达式,记录集[,条件式])
参数说明:
(同Dcount()函数参数)。
使用说明:
●包含Null值的记录不能在平均值的计算中使用。
●在查询的“准则”行中可以使用DAvg函数来指定准则。
(12)DSum()函数
DSum函数用于计算指定记录集中某个字段列数据的总和。
语法格式为:
DSum(表达式,记录集[,条件式])
参数说明:
(同Dcount()函数参数)。
使用说明:
●如果没有记录满足“条件式”参数或者记录集中不包含任何记录,DSum函数将返回Null。
●在查询的“准则”行、查询中的计算字段表达式中或更新查询的“更新到”行中均可以使用DSum函数指定准则。
●可以在总计查询的计算字段表达式中使用DSum或Sum函数。
(13)DLookup()函数
DLookup函数用于从指定记录集检索特定字段的值。
语法格式为:
DLookup(表达式,记录集[,条件式])
参数说明:
(同Dcount()函数参数)。
使用说明:
●DLookup函数将基于表达式中指定的信息返回单个字段的值。
●如果没有满足条件的记录,或者记录集中没有记录,DLookup函数
将返回Null。
●如果有多个字段满足条件式,DLookup函数将返回第一个匹配字段所对应的检索字段值。