1.转换
所谓转换就是从一种格式转换为另一种格式,比如数字转换成字符串,字符串转换成数字等。在Access2007的帮助中该类函数共有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("1615198th Street N.E.")
在下面的代码中,Val为所示的十六进制数值返回十进制数值-1。
Val("&HFFFF")
如果字符串的首位是字母,其结果为0。
l空值处理函数Nz(表达式)
空值处理函数Nz是专门用来处理表达式空值的,如果该表达式是值为Null时,可以使用Nz函数返回零、零长度字符串(零长度字符串:不含字符的字符串。可以使用零长度字符串来表明您知道该字段没有值。输入零长度字符串的方法是键入两个彼此之间没有空格的双引号("")。如果表达式不为空,则原样返回。
这个函数十非常有用的,因为在Access中空值是不被处理的,比如介绍逻辑运算符时就已经有这类情况发生,表达式1or表达式2,只要有一个为空,结果必定为空,这就会引起逻辑判断上的错误,不能真实反映其判断结果,再比如在计算两个表达式的值时,也会出现异常,假设在VBA中有下面一段程序:
A=18.69
B=Null
C=A+B
其结果C等于Null,这不是想要的结果,如改成C=Nz(A)+Nz(B),其结果为18.69。
2.日期函数
在Access2007的帮助中该类函数共有19个,但笔者认为应该是20个,其中Day()函数归到转换函数里,也可以归到日期函数中,表示取日期数据月的天数。
l当前系统日期函数Date()
返回当前系统的日期,在任何可以使用表达式的地方都可以使用Date函数。例如,您可以如下设置窗体上文本框的“控件来源”属性:=Date(),在窗体视图中打开窗体时,该文本框会显示当前系统日期。
int函数与round函数l当前系统日期和时间函数Now()
返回当前系统的日期和时间,在VBA中可以这样使用该函数。例:
Dim今天
今天=Now()
在Access2007中,可以使用中文来定义变量,有关变量在以后的章节中介绍。
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.邮件函数
l Msgbox()
显示一条消息对话框,等待用户单击按钮,然后返回一个指示用户所单击按钮的Integer值。语法:
MsgBox(prompt[,buttons][,title][,helpfile][,context])
MsgBox函数的语法包含以下参数(参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
其中[]表示是可选参数,其参数如表4所示。
明图标样式;第三组值(0、256、512)决定哪个按钮是默认值;第四组值(0、4096)决定消息框的模态。当添加数字以创建buttons参数的最终值时,每组值中只能使用一个数字。
注释:这些常量是由Visual Basic for Applications指定的。因此,可以在代码中的任意位置使用这些名称来替代实际值。
MsgBox函数的返回值如表6所示。
表6MsgBox函数的返回值
MsgBox。若要省略某些位置,则必须包含相应的逗号分隔符。
示例:
Msgbox("尊敬的朋友,您好!")
图1只有一个参数的应用
以下示例演示了此功能在窗体上的一个命令按钮使用,Visual Basic for Applications(VBA)所编写的一段小程序。MsgBox("尊敬的朋友,您好!",vbOKCancel,"信息确认"),表示信息提示框的标题是“信息确认”,提示的信息为“尊敬的朋友,您好!”,只有“确定”和“取消”按钮,如果单击了该命令按钮,就会出现如图2所示的提示对话框,单击“确认”按钮,就会出现图3所示的提示信息,单击“取消”按钮,就会出现如图4所示的提示信息。
图2命令按钮执行后
图3在图2中单击“确认”按钮
图4在图2中单击“取消”按钮
下面就是这个命令按钮的VBA程序:
Private Sub Command3_Click()
Dim QueRen
QueRen=MsgBox("尊敬的朋友,您好!",vbOKCancel,"信息确认")
If QueRen=1Then
MsgBox("按了确认按钮")
Else
MsgBox("按取消按钮")
End If
End Sub
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论