一.Access函数大全
1.1日期/时间
CDate 将字符串转化成为日期 select CDate("2005/4/5")
Date 返回当前日期
DateAdd 将指定日期加上某个日期select dateAdd("d",30,Date())将当前日期加上30天,其中d可以换为yyyy或H等
DateDiff 判断两个日期之间的间隔 selectDateDiff("d","2006-5-1","2006-6-1")返回31,其中d可以换为yyyy,m,H等
DatePart 返回日期的某个部分 selectDatePart("d","2006-5-1")返回1,即1号,d也可以换为yyyy(年)或q(季),m(月),d(日),w(工作日),ww(周),h(时),n(分),s(秒)
Day 返回日期的d部分,等同于datepart的d部分
Dateserial(年,月,日) 组合年月日构造日期
Hour 返回日期的小时
IsDate 判断是否是日期,是日期返回-1,不是日期返回0
Minute 返回日期的分钟部分
Month 返回日期的月份部分
Now 返回当前时间(完整时间,包括年月日 小时分秒)
Second 返回日期的秒部分
Time 返回当前的时间部分(即除去年/月/日的部分)
Weekday 返回某个日期的当前星期(星期天为1,星期一为2,星期二为3...),例如select weekday(now());
Year 返回某个日期的年份
1.2检查
IsEmpty 检测是否为空(不过经测试,不管什么情况,都返回0)
IsNull 检测是否为Null值,null值返回0,非null值返回-1
IsNumeric 检测是否为数字,是数字返回-1,否则返回0
1.3算术
Abs 绝对值
Atn 返正切值。
Cos 余弦值
Exp 返回 e 的给定次幂。
Fix 返回数字的整数部分(即小数部分完全截掉)
Int 将数字向下取整到最接近的整数。(其实等同于Fix)
Log 返回以E为底的对数值
Rnd 返回一个0到1之间的随机数值
Sgn 返回数字的正负符号(正数返回1,负数返回-1,0值返回0)
Sin 正弦值
Sqr 返回平方根值
Tan 正切值
▲程序流程
Choose 根据第一参数,返回后面字符串组的值,Select Choose(1,"a","b","c")返回a,将1改成2后,返回b,改成3后,返回c(第一个参数也可以是某个字段)
IIF 根据表达式返回特定的值Select IIF("3>1","OK","False"),返回OK
▲Sql合计(聚合)函数
Avg 取字段平均值
Count 统计记录条数
Max 取字段最大值
Min 取字段最小值
StDev 估算样本的标准差(忽略样本中的逻辑值和文本)。
StDevP 计算以参数形式(忽略逻辑值和文本)给出的整个样本总体的标准偏差。
Sum 计算字段的总合
Var 估算样本方差(忽略样本中的逻辑值和文本)。
VarP 计算整个样本总体的方差(忽略样本总体中的逻辑值和文本)。
1.4文本
Asc 返回字母的Acsii值,select Asc("A")返回65
Chr 将ascii值转换到字符 select chr(65)返回"A"
Format 格式化字符串,Select Format(now(),'yyyy-mm-dd')返回类似于"2005-04-03",Select Format(3/9,"0.00")返回0.33
InStr 查询子串在字符串中的位置 select Instr("abc","a")返回1,selectInstr("abc","f")返回0
LCase 返回字符串的小写形式
Left 左截取字符串
Len 返回字符串长度
LTrim 左截取空格
Mid 取得子字符串 select mid("123",1,2) as midDemo 返回12
Right 右截取字符串
RTrim 右截取空格
Space 产生空格 select Space(4)返回4个空格
StrComp比较两个字符串是否内容一致(不区分大小写)selectStrComp("abc","ABC")返回0,selectStrComp("abc","123")返回-1
Trim 截取字符串两头的空格
UCase 将字符串转大写
二、access中有效性规则的写法
有效性规则示例
下表提供了字段级和记录级有效性规则的示例,以及说明性有效性文本。可以针对您的内容对这些示例进行相应的改编。
有效性规则有效性文本
<>0 输入非零值。
>=0 值不得小于零。 - 或 -必须输入正数。
0 or >100 值必须为 0 或者大于 100。
BETWEEN 0 AND 1 输入带百分号的值。(用于将数值存储为百分数的字段。)
<#01/01/2007# 输入 2007 年之前的日期。
>=#01/01/2007# AND <#01/01/2008# 必须输入 2007 年的日期。
<Date() 出生日期不能是将来的日期。
StrComp(UCase([姓氏]),
[姓氏],0) = 0 “姓氏”字段中的数据必须大写。
>=Int(Now()) 输入当天的日期。
M Or F 输入 M(代表男性)或 F(代表女性)。
LIKE "[A-Z]*@[A-Z].com" OR"[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org" 输入有效的 .com、.net 或 .org 电子邮件地址。
[要求日期]<=[订购日期]+30 输入在订单日期之后的 30天内的要求日期。
[结束日期]>=[开始日期] 输入不早于开始日期的结束日期。
常见有效性规则的语法
有效性规则中的表达式不使用任何特殊语法。本节中的信息说明某些较常见类型的有效性规则的语法。在执行操作时,请记住:表达式和函数可能会非常复杂,全面的讨论不在本文讨论范围之内。
有关表达式的详细信息,请参阅创建表达式一文。有关函数的详细信息,请参阅函数(按类别排列)一文。
创建表达式时,请牢记下列规则:
将表字段的名称用方括号括起来,例如:[要求日期]<=[订购日期]+30。
将日期用井号 (#) 括起来,例如:<#01/01/2007#
将文本值用双引号括起来,例如:IN ("东京","巴黎","莫斯科")。另外,请注意用逗号分隔项目,并将列表放在圆括号内。
除了上述规则之外,下表显示了常见的算术运算符并提供了使用方法示例。
运算符函数 示例
NOT 测试相反值。在除 IS NOT NULL 之外的任何比较运算符之前使用。 NOT > 10(与 <=10 相同)。
IN 测试值是否等于列表中的现有成员。比较值必须是括在圆括号中的逗号分隔列表。 IN ("东京","巴黎","莫斯科")
BETWEEN 测试值范围。必须使用两个比较值(低和高),并且必须使用 AND 分隔符来分隔这两个值。 BETWEEN 100 AND 1000(与 >=100AND <=1000相同)
LIKE 匹配文本和备注字段中的模式字符串。LIKE "Geo*"
IS NOT NULL 强制用户在字段中输入值。此设置与将“必填”字段属性设置为“是”具有同样的效果。但是,如果启用了“必填”属性但用户没有输入值,则 Access 会显示令人稍感不快的错误消息。通常,如果使用 IS NOT NULL 并在“有效性文本”属性中输入友好的消息,则您的数据库会更易于使用。 IS NOT NULL
AND 指定您输入的所有数据必须为 True 或在指定的范围内。>= #01/01/2007# AND <=#03/06/2008#
注释 您还可以使用 AND 来组合有效性规则。例如:NOT"英国" AND LIKE "英*"。
Len([联系电话])=11
OR 指定可以有一段或多段数据为 True。 一月 OR 二月 "男" Or "女"
替换函数:Replace([款式编号],"E11EJ5120a"," 1E11EJ5120a");
四舍五入:Round(([实际成本]+[材料成本])/[报价成本]*100,2) & "%"
< 小于。
<= 小于或等于。
> 大于。
>= 大于或等于。
= 等于。
<> 不等于。
在有效性规则中使用通配符
在有效性规则中,可以使用 Access 提供的通配符。请记住,Access 支持两个通配符字符集,这是因为对于用于创建和管理数据库的结构化查询语言 (SQL),Access 支持两种标准(ANSI-89 和 ANSI-92)。这两种标准使用不同的通配符字符集。
默认情况下,所有 .accdb 和 .mdb 文件都使用 ANSI-89 标准,而 Access 项目使用 ANSI-92 标准。如果您是 Access 新手,应注意在 Access 项目中,数据库中的表驻留在运行 Microsoft SQL Server 的计算机上,而窗体、报表和其他对象驻留在其他计算机上。如果需要,可以将 .accdb 和 .mdb 文件的 ANSI 标准更改为 ANSI-92。
三、设置表中数据的格式
“文本”和“备注”数据类型的自定义格式
文本(“文本”数据类型:Microsoft Access 数据库中的一种字段数据类型。文本数据类型最多可以包含 255 个字符,或者是由 FieldSize 属性指定的一个小一些的字符数。)、备注(“备注”数据类型:在 Microsoft Access 数据库中的一种字段数据类型。“备注”字段最多可以包含 65,535 个字符。)和超链接(“超链接”数据类型:存储超链接地址的 Access 数据库字段的数据类型。地址最多可以包含四部分,用以下语法格式编写:displaytext#address#subaddress#。)数据类型不接受预定义格式。“文本”数据类型仅接受自定义格式,“备注”数据类型接受自定义格式和格式文本格式,而“超链接”数据类型接受自定义格式(可以设置控制链接颜色的程序选项)。
通常会将自定义格式应用于“文本”和“备注”数据类型,以便能更轻松地读取表数据。例如,如果使用 Web 窗体收集信用卡号码,并在存储这些号码时不添加任何空格,则可以使用自定义格式添加适当的空格,以便能更轻松地读取信用卡号码。
“文本”和“备注”数据类型的自定义格式仅允许一个字符串中包含两个格式部分。格式字符串的第一个部分将控制文本的外观,而第二部分将显示空值或零长度的字符串。如果不指定格式,则 Access 会将数据表中的所有文本对齐。若要了解有关对“文本”或“备注”字段应用自定义格式的详细信息,请参阅应用自定义格式。
下表列出并说明了可应用于“文本”和“备注”字段的自定义格式。
字符 | 说明 |
@ | 如果格式字符串中的任何字符位置有可用的字符,则显示这些字符。如果 Access将所有字符置于基础数据中,则任何剩余的占位符将显示为空格。 例如,如果格式字符串为 @@@@@而基础文本为 ABC,则该文本将添加两个前导空格以便向左对齐。 |
& | 如果格式字符串中的任何字符位置有可用的字符,则显示这些字符。如果 Access将所有字符置于基础数据中,则任何剩余的占位符将不会显示任何内容。 例如,如果格式字符串为 &&&&&且文本为 ABC,则仅显示向左对齐的文本。 |
! | 用于强制从左至右而不是从右至左填充占位符。必须在任何格式字符串的开头使用此字符。 |
< | 用于将所有文本强制为小写。必须在格式字符串的开头使用此字符,但可以在其前面放置一个感叹号 (!)。 |
> | 用于将所有文本强制为大写。必须在格式字符串的开头使用此字符,但可以在其前面放置一个感叹号 (!)。 |
* | 使用星号时,紧随其后的字符将变成填充字符(用来填充空格的字符)。Access一般会以左对齐方式显示文本,并用空格填充该值右侧的任何区域。可以在格式字符串中的任何位置添加填充字符。当您这样做时,Access会用指定的字符填充任何空格。 |
空格 + - $ () | 用于根据需要在格式字符串中的任何位置插入空格、数学字符(+和 -)、财务符号($、¥和 £)和圆括号。如果您想使用其他常见的数学符号,如斜杠(\或 /)和星号 (*)等,请用双引号引起它们(请注意,可以将这些字符置于格式字符串中的任何位置)。 |
"文本" | 用双引号引起您希望显示给用户的任何文本。 |
\ | 用于强制 Access显示紧随其后的字符,这与用双引号引起一个字符具有相同的效果。 |
[颜色] | 用于向格式中某个部分的所有值应用颜色。必须用方括号括起颜色的名称并使用下列名称之一:黑色、蓝色、蓝绿色、绿色、洋红、 |
其他格式详见:(http://office.microsoft.com/zh-cn/access-help/HA001233061.aspx)