常用函数举例
时 间:2010-02-10 09:40:14
作 者:王樵民 ID:5203 城市:郑州
摘 要:介绍了一些常用函数
正 文:
常用函数举例
1. 转换
所谓转换就是从一种格式转换为另一种格式,比如数字转换成字符串,字符串转换成数字等。
在Access 2007的帮助中该类函数共有16个,这里只介绍一些常用的函数,其它函数的使用方法请查看联机帮助文档。
l 数字转字符串函数Str(数字)
Str()函数是将一个数值转换成字符串,例:Str(9999.863),其结果是“
当一数字转成字符串时,总会在前头保留一空位来表示正负。如果“数字”为正,返回的字符串包含一前导空格暗示有一正号。
可以使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置“数字”的正负号。
注意:Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。
l 字符串转数字函数Val(字符串)
Val函数是将一个数值型字符串转换成数值,例: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函数参数说明
参数 |
说明 |
时间间隔 |
必选。字符串表达式 (字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以是:返回字符串或字符串 Variant (VarType 8) 的函数;字符串字面值、常量、变量或 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()
该函数从一个记录集中取某一字段的值,例:假设一个用户表中含有帐户名、密码、真实姓名三个字段,要判断输入的帐号和密码正确否,如果正确,表示合法用户,不正确就是非法用户,就可以利用该函数来判断。
例:
If Nz(DLookup("帐号", "用户", "帐号='wang' and 密码='123'")) <> "" Then
MsgBox ("合法用户")
Else
MsgBox ("非法用户")
End If
这里用了VBA编程的方法对该函数进行了举例。
l 求和函数DSum()
例:计算“销售”表中“销售员”为“张三”的销售总额
=Dsum("销售金额", "销售", "销售员= '张三'")
l 求平均值函数DAvg()
l 求记录数函数DCount()
域聚合函数常用于对一个记录集中进行查找、求平均、求和等操作,其语法的基本格式为:
函数名(“字段名”,“记录集名”,“条件”)
域聚合函数的基本用法参数如表3所示。
表3域聚合函数的基本用法参数说明
设置符号 |
说明 |
字段名 |
必选。用于标识对那个字段进行操作。 |
记录集名 |
必选。用于标识使用那个记录集,可以是表名或查询名。 |
条件 |
可选。字符串表达式,用于限制执行 函数的数据范围。 |
5. 数学函数
l 取整函数Int()
l 四舍五入函数Round()
6. 邮件函数
l Msgbox()
显示一条消息对话框,等待用户单击按钮,然后返回一个指示用户所单击按钮的 Integer 值。
语法:
MsgBox(prompt [, buttons ] [, title ] [, helpfile ] [, context ] )
MsgBox 函数的语法包含以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
其中[]表示是可选参数,其参数如表4所示。
表4Msgbox函数参数说明
参数 |
说明 |
prompt |
必选。字符串表达式 (字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以是:返回字符串或字符串 Variant (VarType 8) 的函数;字符串字面值、常量、变量或 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 参数的设置
常量 |
值 |
说明 |
vbOKOnly |
0 |
仅显示“确定”按钮。 |
vbOKCancel |
1 |
显示“确定”和“取消”按钮。 |
vbAbortRetryIgnore |
2 |
显示“终止”、“重试”和“忽略”按钮。 |
vbYesNoCancel |
3 |
显示“是”、“否”和“取消”按钮。 |
vbYesNo |
4 |
显示“是”和“否”按钮。 |
vbRetryCancel |
5 |
显示“重试”和“取消”按钮。 |
vbCritical |
16 |
显示“重要消息”图标。 |
vbQuestion |
32 |
显示警告查询 图标。 |
vbExclamation |
48 |
显示警告消息 图标。 |
vbInformation |
64 |
显示信息性消息图标。 |
vbDefaultButton1 |
0 |
第一个按钮为默认值。 |
vbDefaultButton2 |
256 |
第二个按钮为默认值。 |
vbDefaultButton3 |
512 |
第三个按钮为默认值。 |
vbDefaultButton4 |
768 |
第四个按钮为默认值。 |
vbApplicationModal |
0 |
应用程序模式;用户必须对消息框做出响应,然后才能继续在当前应用程序中工作。 |
vbSystemModal |
4096 |
系统模式;所有应用程序都将挂起,直到用户对消息框做出响应为止。 |
vbMsgBoxHelpButton |
16384 |
向消息框中添加“帮助”按钮 |
VbMsgBoxSetForeground |
65536 |
将消息框窗口指定为前台窗口 |
vbMsgBoxRight |
524288 |
文本右对齐 |
vbMsgBoxRtlReading |
1048576 |
指定文本在希伯来语和阿拉伯语系统中应按从右向左的顺序显示 |
第一组值 (0–5) 说明了对话框中所显示按钮的数目和类型;第二组值(16、32、48、64)说明图标样式;第三组值(0、256、512)决定哪个按钮是默认值;第四组值(0、4096)决定消息框的模态。当添加数字以创建 buttons 参数的最终值时,每组值中只能使用一个数字。
注释:这些常量是由 Visual Basic for Applications 指定的。因此,可以在代码中的任意位置使用这些名称来替代实际值。
MsgBox 函数的返回值如表6所示。
表6MsgBox 函数的返回值
常量 |
值 |
说明 |
vbOK |
1 |
确定 |
vbCancel |
2 |
取消 |
vbAbort |
3 |
终止 |
vbRetry |
4 |
重试 |
vbIgnore |
5 |
忽略 |
vbYes |
6 |
是 |
vbNo |
7 |
否 |
如果除了第一个命名参数以外还要指定其他参数,则必须在表达式中使用 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 = 1 Then
MsgBox ("按了确认按钮")
Else
MsgBox ("按取消按钮")
End If
End Sub
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)