Access常用函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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个月的日期。
年数),则会出错。
如果间隔数不是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所示。
l 取整函数Int()
l 四舍五入函数Round()
6. 邮件函数