常用函数举例常用函数举例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(1615198thStreetN.E.)在下面的代码中,Val为所示的十六进制数值返回十进制数值-1。Val(&HFFFF)如果字符串的首位是字母,其结果为0。l空值处理函数Nz(表达式)空值处理函数Nz是专门用来处理表达式空值的,如果该表达式是值为Null时,可以使用Nz函数返回零、零长度字符串(零长度字符串:不含字符的字符串。可以使用零长度字符串来表明您知道该字段没有值。输入零长度字符串的方法是键入两个彼此之间没有空格的双引号()。如果表达式不为空,则原样返回。这个函数十非常有用的,因为在Access中空值是不被处理的,比如介绍逻辑运算符时就已经有这类情况发生,表达式1or表达式2,只要有一个为空,结果必定为空,这就会引起逻辑判断上的错误,不能真实反映其判断结果,再比如在计算两个表达式的值时,也会出现异常,假设在VBA中有下面一段程序:A=18.69B=NullC=A+B其结果C等于Null,这不是想要的结果,如改成C=Nz(A)+Nz(B),其结果为18.69。2.日期函数在Access2007的帮助中该类函数共有19个,但笔者认为应该是20个,其中Day()函数归到转换函数里,也可以归到日期函数中,表示取日期数据月的天数。l当前系统日期函数Date()返回当前系统的日期,在任何可以使用表达式的地方都可以使用Date函数。例如,您可以如下设置窗体上文本框的“控件来源”属性:=Date(),在窗体视图中打开窗体时,该文本框会显示当前系统日期。l当前系统日期和时间函数Now()返回当前系统的日期和时间,在VBA中可以这样使用该函数。例:Dim今天今天=Now()在Access2007中,可以使用中文来定义变量,有关变量在以后的章节中介绍。l当前系统时间函数Time()l返回添加了指定时间间隔的日期DateAdd()其语法为:DateAdd(时间间隔,间隔数,日期)时间间隔表示间隔按年还是月或者其它,间隔数表示增加的数量,也可以是负数,如果是负数,则返回过去的日期。该函数带三个参数,每个参数都是必选的,如表1所示。例如获得3个月前的日期,就可以使用该函数,下面举例:设置窗体上文本框的“控件来源”属性:=DateAdd(m,-3,Date()),在窗体视图中打开窗体时,该文本框会显示前3个月的日期。表1DateAdd函数参数说明参数说明时间间隔必选。字符串表达式(字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以是:返回字符串或字符串Variant(VarType8)的函数;字符串字面值、常量、变量或Variant。),表示要添加的时间间隔。间隔数必选。数值表达式(数值表达式:计算结果为数字的任何表达式。表达式可以是变量、常数、函数和运算符的任意组合。),标识要添加的间隔数。它可以为正(以获取将来的日期)也可以为负(以获取过去的日期)。日期数据必选。变量型(日期型)或文字,表示已添加间隔的日期。时间间隔参数是系统规定好的符号,分别代表不同的含义,具体含义如表2所示。表2时间间隔符号的含义设置符号说明yyyy年q季度m月y某年的某一天d天w工作日ww周h时n分s秒注意:使用该参数时要加引号,如果计算后的日期在100年前(即减去的年数大于date中的年数),则会出错。如果间隔数不是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()该函数从一个记录集中取某一字段的值,例:假设一个用户表中含有帐户名、密码、真实姓名三个字段,要判断输入的帐号和密码正确否,如果正确,表示合法用户,不正确就是非法用户,就可以利用该函数来判断。例:IfNz(DLookup(帐号,用户,帐号='wang'and密码='123'))ThenMsgBox(合法用户)ElseMsgBox(非法用户)EndIf这里用了VBA编程的方法对该函数进行了举例。l求和函数DSum()例:计算“销售”表中“销售员”为“张三”的销售总额=Dsum(销售金额,销售,销售员='张三')l求平均值函数DAvg()l求记录数函数DCount()域聚合函数常用于对一个记录集中进行查找、求平均、求和等操作,其语法的基本格式为:函数名(“字段名”,“记录集名”,“条件”)域聚合函数的基本用法参数如表3所示。表3域聚合函数的基本用法参数说明设置符号说明字段名必选。用于标识对那个字段进行操作。记录集名必选。用于标识使用那个记录集,可以是表名或查询名。条件可选。字符串表达式,用于限制执行函数的数据范围。5.数学函数l取整函数Int()l四舍五入函数Round()6.邮件函数lMsgbox()显示一条消息对话框,等待用户单击按钮,然后返回一个指示用户所单击按钮的Integer值。语法:MsgBox(prompt[,buttons][,title][,helpfile][,context])MsgBox函数的语法包含以下参数(参数:为操作、事件、方法、属性、函数或过程提供信息的值。):其中[]表示是可选参数,其参数如表4所示。表4Msgbox函数参数说明参数说明prompt必选。字符串表达式(字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以是:返回字符串或字符串Variant(VarType8)的函数;字符串字面值、常量、变量或Variant。),在对话框中显示为消息。prompt的最大长度约为1024个字符,具体长度取决于所用字符的宽度。如果prompt包含多行,可在各行之间使用回车符(Chr(13))、换行符(Chr(10))或回车符与换行符的组合(Chr(13)&Chr(10))来分隔各行。buttons可选。其值为数值表达式(数值表达式:计算结果为数字的任何表达式。表达式可以是变量、常数、函数和运算符的任意组合。),它是值的总和,这些值指定要显示的按钮的数目和类型、要使用的图标样式、默认按钮的标识以及消息框的模态。如果省略此参数,则buttons的默认值为0。title可选。字符串表达式,显示在对话框的标题栏中。如果省略title,则标题栏中将显示应用程序名称。helpfile可选。字符串表达式,用于标识为对话框提供上下文相关帮助的帮助文件。如果提供helpfile,必须同时提供context。context可选。其值为数值表达式,它是帮助文件的作者为相应帮助主题分配的帮助上下文编号。如果提供context,必须同时提供helpfile。buttons参数的设置如表5所示:表5buttons参数的设置常量值说明vbOKOnly0仅显示“确定”按钮。vbOKCancel1显示“确定”和“取消”按钮。vbAbortRetryIgnore2显示“终止”、“重试”和“忽略”按钮。vbYesNoCancel3显示“是”、“否”和“取消”按钮。vbYesNo4显示“是”和“否”按钮。vbRetryCancel5显示“重试”和“取消”按钮。vbCritical16显示“重要消息”图标。vbQuestion32显示警告查询图标。vbExclamation48显示警告消息图标。vbInformation64显示信息性消息图标。vbDefaultButton10第一个按钮为默认值。vbDefaultButton2256第二个按钮为默认值。vbDefaultButton3512第三个按钮为默认值。vbDefaultButton4768第四个按钮为默认值。vbApplicationModal0应用程序模式;用户必须对消息框做出响应,然后才能继续在当前应用程序中工作。vbSystemModal4096系统模式;所有应用程序都将挂起,直到用户对消息框做出响应为止。vbMsgBoxHelpButton16384向消息框中添加“帮助”按钮VbMsgBoxSetForeground65536将消息框窗口指定为前台窗口vbMsgBoxRight524288文本右对齐vbMsgBoxRtlReading1048576指定文本在希伯来语和阿拉伯语系统中应按从右向左的顺序显示第一组值(0–5)说明了对话框中所显示按钮的数目和类型;第二组值(16、32、48、64)说明图标样式;第三组值(0、256、512)决定哪个按钮是默认值;第四组值(0、4096)决定消息框的模态。当添加数字以创建buttons参数的最终值时,每组值中只能使用一个数字。注释:这些常量是由VisualBasicforApplications指定的。因此,可以在代码中的任意位置使用这些名称来替代实际值。MsgBox函数的返回值如表6所示。表6MsgBox函数的返回值常量值说明vbOK1确定vbCancel2取消vbAbort3终止vbRetry4重试vbIgnore5忽略vbYes6是vbNo7否如果除了第一个命名参数以外还要指定其他参数,则必须在表达式中使用MsgBox。若要省略某些位置,则必须包含相应的逗号分隔符。示例:Msgbox(尊敬的朋友,您好!)图1只有一个参数的应用以下示例演示了此功能在窗体上的一个命令按钮使用,VisualBasicforApplications(VBA)所编写的一段小程序。MsgBox(尊敬的朋友,您好!,vbOKCancel,信息确认),表示信息提示框的标题是“信息确认”,提示的信息为“尊敬的朋友,您好!”,只有“确定”和“取消”按钮,如果单击了该命令按钮,就会出现如图2所示的提示对话框,单击“确认”按钮,就会出现图3所示的提示信息,单击“取消”按钮,就会出现如图4所示的提示信息。图2命令按钮执行后图3在图2中单击“确认”按钮图4在图2中单击“取消”按钮下面就是这个命令按钮的VBA程序:PrivateSubCommand3_Click()DimQueRenQueRen=MsgBox(尊敬的朋友,