常用函数举例
常用函数举例1. 转换
所谓转换就是从一种格式转换为另一种格式,比如数字转换成字符串,字符串转换成数字等。在Access 2007的帮助中该类函数共有16个,这里只介绍一些常用的函数,其它函数的使用方法请查看联机帮助文档。
l 数字转字符串函数Str(数字)
Str()函数是将一个数值转换成字符串,例:Str(9999.863),其结果是“9999.863”,Str(-9999.863),其结果是“-9999.863”如果含有字母,系统将出现错误。
当一数字转成字符串时,总会在前头保留一空位来表示正负。如果“数字”为正,返回的字符串包含一前导空格暗示有一正号。
可以使用Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与Str 不同的是,Format 函数不包含前导空格来放置“数字”的正负号。
注意:Str 函数只视句点(.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用CStr 将数字转成字符串。
l 字符串转数字函数Val(字符串)
Val函数是将一个数值型字符串转换成数值,例:Val(“9999.863”),其结果是9999.863,Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号&O (八进制)和&H(十六进制)。空白、制表符和换行符都从参数中被去掉。
下面的例子返回值为1615198:
Val(" 1615 198th Street N.E.")在下面的代码中,Val 为所示的十六进制数值返回十进制数值-1。
Val("&HFFFF")如果字符串的首位是字母,其结果为0。
l 空值处理函数Nz(表达式)
空值处理函数Nz是专门用来处理表达式空值的,如果该表达式是值为Null时,可以使用Nz 函数返回零、零长度字符串(零长度字符串:不含字符的字符串。可以使用零长度字符串来表明您知道该字段没有值。输入零长度字符串的方法是键入两个彼此之间没有空格的双引号("")。
如果表达式不为空,则原样返回。
这个函数十非常有用的,因为在Access中空值是不被处理的,比如介绍逻辑运算符时就已经有这类情况发生,表达式1 or 表达式2,只要有一个为空,结果必定为空,这就会引起逻辑判断上的错误,不能真实反映其判断结果,再比如在计算两个表达式的值时,也会出现异常,假设在VBA中有下面一段程序:
A=18.69
B=Null
C=A+B
其结果C等于Null,这不是想要的结果,如改成C=Nz(A)+Nz(B),其结果为18.69。
2. 日期函数
在Access 2007的帮助中该类函数共有19个,但笔者认为应该是20个,其中Day()函数归到转换函数里,也可以归到日期函数中,表示取日期数据月的天数。
l 当前系统日期函数Date()
返回当前系统的日期,在任何可以使用表达式的地方都可以使用Date 函数。例如,您可以如下设置窗体上文本框的“控件来源”属性:=Date(),在窗体视图中打开窗体时,该文本框
会显示当前系统日期。
l 当前系统日期和时间函数Now()
返回当前系统的日期和时间,在VBA中可以这样使用该函数。例:
Dim 今天
今天= Now()
在Access 2007中,可以使用中文来定义变量,有关变量在以后的章节中介绍。
l 当前系统时间函数Time()
l 返回添加了指定时间间隔的日期DateAdd()
其语法为:DateAdd(时间间隔,间隔数,日期)
时间间隔表示间隔按年还是月或者其它,间隔数表示增加的数量,也可以是负数,如果是负数,则返回过去的日期。
该函数带三个参数,每个参数都是必选的,如表1所示。例如获得3个月前的日期,就可以使用该函数,下面举例:
设置窗体上文本框的“控件来源”属性:=DateAdd("m",-3,Date()),在窗体视图中打开窗体时,该文本框会显示前3个月的日期。
表1 DateAdd函数参数说明
时间间隔参数是系统规定好的符号,分别代表不同的含义,具体含义如表2所示。
的年数),则会出错。
如果间隔数不是Long (Long 数据类型:存储大型整数的基本数据类型。Long 变量存储为32 位数的值,范围介于-2,147,483,648 到2,147,483,647 之间。)类型的值,则会在求值前将其四舍五入为最近的整数。
l 返回两个指定的日期之间的时间间隔数DateDiff()
3. 财务函数
l 余额递减法求折旧函数DDB()
其语法格式:DDB(初始成本, 剩余价值, 折旧年限, 期间,倍数),其中倍数是可选项,默认值等于2,如果省略该参数,默认为双倍余额递减法求折旧。
例:使用双倍余额递减法求折旧求资产原值等于5000,5年后剩余价值等于50第一年的折旧,其函数的写法为:DDB(5000,50,5,1),结果返回2000,第二年的折旧算法:DDB(5000,50,5,2),结果返回1200。
4. 域聚合函数
l 查特定值函数DLookup()
该函数从一个记录集中取某一字段的值,例:假设一个用户表中含有帐户名、密码、真实姓名三个字段,要判断输入的帐号和密码正确否,如果正确,表示合法用户,不正确就是非法用户,就可以利用该函数来判断。
例:
If Nz(DLookup("帐号", "用户", "帐号='wang' and 密码='123'")) <> "" Then
MsgBox ("合法用户")
Else
MsgBox ("非法用户")
End If
这里用了VBA编程的方法对该函数进行了举例。
l 求和函数DSum()
例:计算“销售”表中“销售员”为“张三”的销售总额
=Dsum("销售金额", "销售", "销售员= '张三'")
l 求平均值函数DAvg()
l 求记录数函数DCount()
域聚合函数常用于对一个记录集中进行查、求平均、求和等操作,其语法的基本格式为:
函数名(“字段名”,“记录集名”,“条件”)
域聚合函数的基本用法参数如表3所示。
5. 数学函数
l 取整函数Int()
l 四舍五入函数Round()
6. 邮件函数
l Msgbox()
显示一条消息对话框,等待用户单击按钮,然后返回一个指示用户所单击按钮的Integer 值。语法:
MsgBox(prompt [, buttons ] [, title ] [, helpfile ] [, context ] )
MsgBox 函数的语法包含以下参数(参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
其中[]表示是可选参数,其参数如表4所示。
表4Msgbox函数参数说明
int函数与round函数buttons 参数的设置如表5所示:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论