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会用指定的字符填充任何空格。

空格 + - $ ()

用于根据需要在格式字符串中的任何位置插入空格、数学字符(+和 -)、财务符号($、&#165;和 &#163;)和圆括号。如果您想使用其他常见的数学符号,如斜杠(\或 /)和星号 (*)等,请用双引号引起它们(请注意,可以将这些字符置于格式字符串中的任何位置)。

"文本"

用双引号引起您希望显示给用户的任何文本。

\

用于强制 Access显示紧随其后的字符,这与用双引号引起一个字符具有相同的效果。

[颜色]

用于向格式中某个部分的所有值应用颜色。必须用方括号括起颜色的名称并使用下列名称之一:黑色、蓝色、蓝绿色、绿色、洋红、