Access表达式
 
窗体、报表和数据访问页中使用的表达式示例

处理和计算日期的示例

下表列出了可在窗体、报表和数据访问页上的计算控件中使用的表达式示例。

表达式 说明
=Date() 使用 Date 函数显示当前日期,显示时用 mm-dd-yyyy 形式,其中 mm 是月份(1 到 12),dd 是日期(1 到 31),yyyy 则是年份(1980 到 2099)。
=Format(Now(), "ww") 使用 Format 函数显示当前日期在该年中所处的星期号,其中 ww 为 1 到 53。
=DatePart("yyyy", [订购日期]) 使用 DatePart 函数显示“订购日期”字段值的四位年份值。
=DateAdd("y", -10, [应付日期]) 使用 DateAdd 函数显示“应付日期”字段值前 10 天的日期值。
=DateDiff("d", [订购日期], [发货日期]) 使用 DateDiff 函数显示“订购日期”和“发货日期”字段值之间相差的天数。

注意   在计算控件的“控件来源”属性中,以 = 运算符开头。在数据访问页上,可以省略 = 运算符,而键入一个别名;例如,键入 WeekNumber: Format(Now(), "ww")。
在窗体或报表中设置计算控件的“名称”属性或在数据访问页中设置计算控件的 ID 属性时,应确保使用唯一的名称。不要使用表达式中使用的控件的名称或 ID。
在窗体或报表上的表达式中,可使用控件的名称或基础记录源中的字段名。在数据访问页上的表达式中,只能使用页的数据定义中的字段的名称。
下表列出了可以在窗体、报表和数据访问页上的计算控件中使用的表达式示例。

表达式 说明
="无" 显示“无”。
=[名字]&" "&[姓氏] 显示“姓氏”字段和“名字”字段的值,两者之间以空格隔开。
=Left([产品名称], 1) 使用 Left 函数显示“产品名称”字段值的第一个字符。
=Right([资产代码], 2) 使用 Right 函数显示“资产代码”字段值的最后两个字符。
=Trim([地址]) 使用 Trim 函数显示“地址”字段的值,并且删除首尾的空格。
=IIf(IsNull([地区]),[城市]&" "& [邮政编码],[城市]&" "&[地区]&" "& [邮政编码]) 如果“地区”值为 Null,则使用 IIf 函数显示“城市”和“邮政编码”字段的值,否则显示“城市”、“地区”和“邮政编码”字段的值,中间以空格分隔。
注意  
在计算控件的“控件来源”属性中,以 = 运算符开头。在数据访问页上,可以省略 = 运算符,而键入一个别名;例如,键入“FullName: [名字]&" "& [姓氏]”。
在窗体或报表中设置计算控件的“名称”属性或在数据访问页中设置计算控件的 ID 属性时,应确保使用唯一的名称。不要使用表达式中使用的控件名称或 ID。
在窗体或报表的表达式中,可使用控件的名称或基记录源的字段名。在数据访问页的表达式中,只能使用在页的数据定义中的字段的名称。
处理数学运算的示例

下表列出了可在窗体、报表和数据访问页上的计算控件中使用的表达式示例。

表达式 说明
= [小计] + [运费] “小计”和“运费”字段值的总和。
=[到货日期]-[发货日期] “到货日期”和“发货日期”字段值的差。
=[价格] * 1.06 “价格”字段值的 1.06 倍(“价格”值增加 6%)。
=[数量] * [价格] “数量”和“价格”字段值的乘积。
=[雇员总计]/[国家总计] “雇员总计”和“国家总计”字段值的比值。
注意  
在计算控件的“控件来源”属性中,表达式前面要加 = 运算符。在数据访问页中,可省略 =,而键入别名。例如,键入“ExtendedPrice: [数量] * [价格]”。
在窗体或报表中设置计算控件的“名称”属性或在数据访问页中设置计算控件的 ID 属性时,应确保使用唯一的名称。不要使用表达式中使用的控件名称或 ID。
在窗体或报表的表达式中,可使用控件的名称或基记录源中的字段名。在数据访问页的表达式中,只能使用页的数据定义中的字段的名称。
如果在表达式中使用算术运算符(+、-、*、/),且表达式中某一控件的值为 Null,则整个表达式的结果将变成 Null。在窗体或报表上,如果表达式中某个控件的一些记录值可能为 Null,可使用 Nz 函数将 Null 值转化为 0,例如:
=Msodsc.Nz([小计]) + Msodsc.Nz([运费])
条件表达式示例

下表列出了可在窗体、报表和数据访问页上的计算控件中使用的表达式示例。

表达式 说明
=IIf([确认] = "是","订单已确认","订单没有确认") 如果“确认”字段的值为“是”则显示“订单已确认”消息,否则显示“订单没有确认”。
=IIf(IsNull([国家])," ",[国家]) 如果“国家”字段值为 Null 则显示空字符串,否则显示“国家”字段的值。
=IIf(IsNull([地区]),[城市]&" "& [邮政编码], [城市]&" "&[地区]&" " &[邮政编码]) 如果“地区”字段值为 Null,则显示“邮政编码”和“城市”字段的值,否则显示“城市”、“地区”和“邮政编码”字段的值。
=IIf(IsNull([到货日期] - [发货日期]),"检查相差日期",[到货日期] - [发货日期]) 如果“到货日期”减去“发货日期”的值为 Null,则显示“检查相差日期”消息,否则显示“到货日期”和“发货日期”字段值之差。

注意

在计算控件的“控件来源”属性中,以 = 运算符开头。在数据访问页上,可以省略 = 运算符,而键入一个别名;例如,键入“DisplayCountry: IIf(IsNull([国家/地区])," ",[国家/地区])”。
在窗体或报表中设置计算控件的“名称”属性或在数据访问页中设置计算控件的 ID 属性时,应确保使用唯一的名称。不要使用表达式中使用的控件名称或 ID。
在窗体或报表的表达式中,可使用控件的名称或基记录源中的字段名。在数据访问页的表达式中,只能使用页的数据定义中的字段的名称。
聚合函数和域聚合函数的示

注意   不能在数据访问页中使用聚合函数和域聚合函数。此外,也不能在 Microsoft Access 项目 (.adp) 中使用域聚合函数。

使用聚合函数的表达式示例

表达式 说明
=Avg([运费]) 使用 Avg 函数显示“运费”控件的平均值。
=Count([订单ID]) 使用 Count 函数显示“订单ID”控件中的记录条数。 
=Sum([销售额]) 使用 Sum 函数显示“销售额”控件值的总和。
=Sum([数量] * [价格]) 使用 Sum 函数显示“数量”和“价格”控件值的乘积总和。 
=[销售额] / Sum([销售额]) * 100 显示销售百分比,即“销售额”控件值与所有“销售额”控件值的总和的比值。
注意   如果控件的“格式”属性设为“百分比”,则不要包含 *100。
 使用域聚合函数的表达式示例

表达式 说明
=DLookup("[联系人姓名]", "[供应商]", "[供应商ID] = Forms![供应商ID]") 使用 DLookup 函数显示当“供应商”表的“供应商ID”字段值等于活动窗体上的“供应商ID”控件值时的“联系人姓名”字段值。
=DLookup("[联系人姓名]", "[供应商]", "[供应商ID] = Forms![新供应商]![供应商ID]") 使用 DLookup 函数显示当“供应商”表的“供应商ID”字段等于“新供应商”窗体中的“供应商ID”控件值时的“供应商ID”字段值。
=DSum("[订单金额]", "[订单]", "[客户ID] = 'RATTC'") 使用 DSum 函数显示“订单”表中“客户ID”字段值为 RATTC 时的“订单金额”字段值的总和。

注意  
在计算控件中,表达式前要加上 = 运算符。
在设置计算控件的“名称”属性时,应确保使用唯一的名称。不要使用表达式中使用的控件的名称。
在查询和筛选中使用表达式示例

用于检索记录的条件示例

值的范围(>、<、>=、<=、<> 或 Between...And)

表达式 结果
> 234 对于“数量字段”,大于 234 的数字
<1200.45 对于“单价”字段,小于 1200.45 的数字
>= "Callahan" 对于“姓氏”字段,从 Callahan 到字母表结尾的所有姓氏
Between #2/2/93# And #12/1/93#  对于“订购日期”字段,从 1999 年 2 月 2 日到 1999 年 12 月 1 日的日期 (ANSI-89)
Between #2/2/93# And #12/1/93#  对于“订购日期”字段,从 1999 年 2 月 2 日到 1999 年 12 月 1 日的日期 (ANSI-92)

不匹配的值 (Not)

表达式 结果
Not "美国" 对于“货主国家”字段,运往美国以外的国家的订单
Not 2 对于 ID 字段,其 ID 不等于 2 的雇员
Not T* 对于“姓氏”字段,其名称不以字母“T”打头的雇员 (ANSI-89)
Not T% 对于“姓氏”字段,其名称不以字母“T”打头的雇员 (ANSI-92)

不在列表中的值 (In)

表达式 结果
In("加拿大", "英国") 对于“货主国家”字段,运往加拿大或英国的订单
In(法国, 德国, 日本) 对于“国家”名称字段,住在法国、德国或日本的雇员

文本、部分以及全部匹配的值

表达式 结果
"伦敦" 对于“货主所在市/县”字段,运往伦敦的订单
"伦敦" Or "休斯敦" 对于“货主所在市/县”字段,运往伦敦或休斯敦的订单
>="N" 显示已送货到公司的订单,公司的名称以字母 N 到 Z 打头
Like "S*" 对于“货主名称”字段,运往其名称以字母 S 打头的客户的订单 (ANSI-89)
Like "S%" 对于“货主名称”字段,运往其名称以字母 S 打头的客户的订单 (ANSI-92)
Right([订单ID], 2)="99" 对于“订单ID”字段,其 ID 值以 99 结束的订单
Len([公司名称]) > Val(30) 对于“公司名称”字段,其公司名称长度大于 30 个字符的订单

字段值的一部分 (Like)

表达式 结果
Like "S*" 对于“货主名称”字段,运往其名称以字母 S 打头的客户的订单 (ANSI-89)
Like "S%" 对于“货主名称”字段,运往其名称以字母 S 打头的客户的订单 (ANSI-92)
Like "*Imports" 对于“货主名称”字段,运往其名称以“Imports”结尾的客户的订单 (ANSI-89)
Like "%Imports" 对于“货主名称”字段,运往其名称以“Imports”结尾的客户的订单 (ANSI-92)
Like "[A-D]*" 对于“货主名称”字段,运往其名称以字母 A 到 D 打头的客户的订单 (ANSI-89)
Like "[A-D]%" 对于“货主名称”字段,运往其名称以字母 A 到 D 打头的客户的订单 (ANSI-92)
Like "*ar*" 对于“货主名称”字段,运往其名称包含字母序列“ar”的客户的订单 (ANSI-89)
Like "%ar%" 对于“货主名称”字段,运往其名称包含字母序列“ar”的客户的订单 (ANSI-92)
Like "Maison Dewe?" 已送货到客户的订单,订单中的客户名称“Maison”作为名称的第一部分,并具有五个字母长的第二名称,且其中前四个字母是“Dewe”而最后的字母为未知的 (ANSI-89)
Like "Maison Dewe_" 已送货到客户的订单,订单中的客户名称“Maison”作为名称的第一部分,并具有五个字母长的第二名称,且其中前四个字母是“Dewe”而最后的字母为未知的 (ANSI-92)

DatePart 函数”
详细表述如下:

  

DatePart 函数
返回一个 Integer 值,其中包含给定 Date 值的指定组件。

Public Overloads Function DatePart( _
   ByVal Interval As DateInterval, _
   ByVal DateValue As DateTime, _
   Optional ByVal FirstDayOfWeekValue As FirstDayOfWeek = VbSunday, _
   Optional ByVal FirstWeekOfYearValue As FirstWeekOfYear = VbFirstJan1 _
) As Integer
- 或 -

Public Overloads Function DatePart( _
    ByVal Interval As String, _
   ByVal DateValue As Object, _
   Optional ByVal DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday, _
   Optional ByVal WeekOfYear As FirstWeekOfYear = FirstWeekOfYear.Jan1 _
) As Integer
参数
Interval
必选项。DateInterval 枚举值或 String 表达式,它表示所要返回的日期/时间值部分。
DateValue
必选项。所要计算的 Date 值。
FirstDayOfWeekValue
可选项。选自 FirstDayOfWeek 枚举的值,该枚举用于指定周的第一天。若未指定,则使用 FirstDayOfWeek.Sunday。
FirstWeekOfYearValue
可选项。选自 FirstWeekOfYear 枚举的值,该枚举用于指定年的第一周。若未指定,则使用 FirstWeekOfYear.Jan1。
设置
Interval 参数可以有以下设置。

枚举值 字符串 所要返回的日期/时间值部分
DateInterval.Day  d 月中的哪一天(从 1 到 31)
DateInterval.DayOfYear  y 年中的哪一天(从 1 到 366)
DateInterval.Hour  h 小时
DateInterval.Minute  n  分钟
DateInterval.Month  m 月
DateInterval.Quarter  q  季度
DateInterval.Second  s 秒钟
DateInterval.Weekday  w 星期几(从 1 到 7)
DateInterval.WeekOfYear  ww  年中的哪一周(从 1 到 53)
DateInterval.Year  yyyy 年

FirstDayOfWeekValue 参数可以有以下设置。

枚举值 值 说明
FirstDayOfWeek.System  0  系统设置中指定的周的第一天 
FirstDayOfWeek.Sunday  1  星期日(默认)
FirstDayOfWeek.Monday  2  星期一(依照 ISO 8601 标准第 3.17 节) 
FirstDayOfWeek.Tuesday  3  星期二
FirstDayOfWeek.Wednesday  4  星期三
FirstDayOfWeek.Thursday  5  星期四
FirstDayOfWeek.Friday  6  星期五
FirstDayOfWeek.Saturday  7  星期六

FirstWeekOfYearValue 参数可以有以下设置。

枚举值 值 说明
FirstWeekOfYear.System  0  系统设置中指定的年的第一周
FirstWeekOfYear.Jan1  1  1 月 1 日所在的周(默认)
FirstWeekOfYear.FirstFourDays  2  至少有四天属于新年的周(依照 ISO 8601 标准第 3.17 节)
FirstWeekOfYear.FirstFullWeek  3  新年的第一个全周

异常/错误
异常类型 错误号 条件
ArgumentException 5 Interval 无效。 
InvalidCastException 13 DateValue 不能被强制为 Date。

备注
可以使用 DatePart 函数来计算日期/时间值并返回一个特定组件。例如,可以使用 DatePart 计算某个日期是星期几或目前为几点钟。

若为 Interval 参数选择 DateInterval.Weekday,返回的值与 FirstDayOfWeek 枚举的值一致。若选择 DateInterval.WeekOfYear,DatePart 使用 System.Globalization 命名空间的 Calendar 和 CultureInfo 类来确定当前设置。

FirstDayOfWeekValue 参数会影响使用 DateInterval.Weekday 和 DateInterval.WeekOfYear Interval 设置所进行的计算。FirstWeekOfYearValue 参数影响为 Interval 指定 DateInterval.WeekOfYear 的计算。

如果有任何参数的值无效,就会发生 ArgumentException 错误。若 DateValue 参数值无法被强制为有效的 Date 值,则会发生 InvalidCastException 错误。

因为每个 Date 值都由 DateTime 结构支持,其方法在检索日期/时间部分中提供了额外的选项。例如,将时间值设置为午夜,可以获取 Date 变量的完整日期值,如下所示:

Dim CurrDatTim As Date = Now   ' Current date and time.
Dim LastMidnight As Date = CurrDatTim.Date   ' At midnight.
示例
本示例取得一个日期,并使用 DatePart 函数显示该日期所在的季度。

Dim FirstDate, Msg As String   'Declare variables.
Dim SecondDate As Date
FirstDate = InputBox("Enter a date:")
SecondDate = CDate(FirstDate)
Msg = "Quarter: " & DatePart(DateInterval.Quarter, SecondDate)
MsgBox (Msg)
最后写为:
select (cstr(datepart('yyyy',xx'-'+cstr(datepart('m',xx))) from yy

DatePart 函数 语法说明

[b][color=Blue][size=6]DatePart 函数[/size][/color][/b]
适用于: Microsoft Office Access 2003

返回一个包含给定日期的指定部分的 Variant (Integer)。

语法

DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

DatePart 函数语法具有这些命名参数:

[color=Blue][b][size=4]部分[/size][/b][/color]        [color=Blue][b][size=4]说明[/size][/b][/color]
interval         必选。字符串表达式,是要返回的时间间隔。
date          必选。要计算的 Variant (Date) 值。
firstdayofweek        可选。常量,指定一周的第一天。如果未指定,则假设为星期日。
firstweekofyear       可选。常量,指定一年的第一周。如果未指定,那么第一周将假设为 1 月 1 日所在的周。

设置

interval 参数具有下列这些设置:

[b][color=Blue][size=4]设置[/size][/color][/b]     [b][color=Blue][size=4]说明 [/size][/color][/b]
yyyy        年
q           季
m          月
y        一年中的日期
d        日
w          工作日
ww       周
h        时
n        分
s        秒

firstdayofweek 参数具有下列设置:

[b][color=Blue][size=4]常量[/size][/color][/b]                   [b][color=Blue][size=4]值[/size][/color][/b]              [b][color=Blue][size=4]说明[/size][/color][/b]
vbUseSystem        0          使用 NLS API 设置。
vbSunday             1           星期日(默认值)
vbMonday            2           星期一
vbTuesday           3           星期二
vbWednesday      4           星期三
vbThursday          5           星期四
vbFriday               6           星期五
vbSaturday          7           星期六

firstweekofyear 参数具有下列这些设置:

[b][color=Blue][size=4]常量[/size][/color][/b]                      [b][color=Blue][size=4]值 [/size][/color][/b]               [b][color=Blue][size=4]说明[/size][/color][/b]
vbUseSystem             0           使用 NLS API 设置。
vbFirstJan1                1           由 1 月 1 日所在的周开始(默认值)。
vbFirstFourDays          2           由在新的一年中至少有四天的第一周开始。
vbFirstFullWeek          3           由一年中的第一个完整周开始。

说明

可以使用 DatePart 函数计算日期并返回特定的时间间隔。例如,可以使用 DatePart 计算一周中的星期几或当前小时。

firstdayofweek 参数会影响使用“w”和“ww”时间间隔符号的计算。

如果 date 是日期文字,那么指定的年将成为该日期的固定部分。然而,如果 date 由双引号 (" ") 引起来,并且省略了年,那么在每次计算 date 表达式时,会将当前年插入到代码中。这样,就能编写在其他年份可以使用的代码。

[b]注释[/b]  对于 date,如果 Calendar 属性设置为公历,那么,所提供的日期必须是公历。如果 Calendar 是回历,那么所提供的日期必须是回历。

返回的日期部分位于当前阿拉伯日历的时间间隔单位中。例如,如果当前日历是回历,并且要返回的日期部分是年,那么年的值将为回历年。

access表达式的用法相关推荐

  1. python -lambda表达式的用法

    匿名函数 lambda的意义: 利用lambda我们可以速写函数,不用去定义函数就可以直接使用 y = lambda x,z:5+9*x+8*z print(y(2,4)) 从例子中可以看到,lamb ...

  2. el表达式ne什么意思_JSP中EL表达式的用法详解(必看篇)

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  3. Linux C语言中access函数的用法

    access()函数的用法:int access(const char *filenpath, int mode) 一.access()函数的作用 access()函数用来判断某个指定路径的文件(第一 ...

  4. SpringSecurity系列——其他的权限控制,基于access表达式的权限控制day6-2(源于官网5.7.2版本)

    SpringSecurity系列--其他的权限控制,基于access表达式的权限控制day6-2(源于官网5.7.2版本) 常见权限控制总表 基于access表达式的权限控制 实例1:改写hasRol ...

  5. @Scheduled cron 定时任务表达式含义用法及* ?的区别

    ** @Scheduled cron 定时任务表达式含义用法及* ?的区别 ** cron格式:[秒数][分钟][小时][日期][月份][星期几][年份(可省略)] 关于[日期]与[星期几]的说明: ...

  6. access month函数用法_【Access文章】日期常用函数详解

    时 间:2015-08-20 09:46:13 作 者:摘 要: weekday 函数,WeekdayName函数(VBA),DateSerial 函数,DatePart函数 ,DateAdd 函数  ...

  7. access month函数用法_小白进阶必备的10组函数公式实用技巧解读,有案例和详情解读哦!...

    函数公式可以说是Excel的灵魂,所以对于一些基础实用性的函数公式我们必须掌握哦! 一.Len.Lenb:返回文本字符串中的字符数个数或字符数. 目的:返回指定字符串的字数和字节数. 方法: 在目标单 ...

  8. python lambda表达式及用法_Python:lambda表达式和yield关键字理解与使用讲解

    一.lambda表达式 1.1.lambda表达式理解 lambda的主体是一个表达式,而不是一个代码块,仅仅能在lambda表达式中封装有限的逻辑进去.如果要通俗的理解lambda表达式,可以结合C ...

  9. Python lambda表达式及用法

    lambda 表达式是现代编程语言争相引入的一种语法,如果说函数是命名的.方便复用的代码块,那么 lambda 表达式则是功能更灵活的代码块,它可以在程序中被传递和调用. 回顾局部函数 回顾<P ...

最新文章

  1. 2022-2028年中国床上用品行业投资分析及前景预测报告
  2. 爬虫的系统框架组成-资源库
  3. Silverlight C# 游戏开发:Flyer03大图裁剪,高效动画的艺术
  4. php发送get、post请求获取内容的几种方法
  5. json java对象 简书_Java 对象的 Json 化与反 Json 化
  6. Taro+react开发(61) 一条虚线
  7. 近4年个人收款码数据将被追查补税?微信、支付宝紧急回应了
  8. Java基础学习总结(145)——Java SPI(Service Provider Interface)简介
  9. 前端注释那些事儿:看懂这篇,提高代码质量So easy
  10. C#从入门到精通源码资源汇总下载(全部免积分)
  11. 基于自动编码器特征抽取的分类实战
  12. Web后端开发知识点整理
  13. LeetCode知识点总结 - 1179
  14. 厦大计算机类分专业,2018三跨厦大计算机经验贴
  15. 东晋琴家、雕塑家、画家、哲学家戴逵
  16. 大数据技术Flink详解
  17. AWS ELB技术要点
  18. Spring三大核心思想详解
  19. mingw编译ffmpeg+librtmp过程记录
  20. Android tcp与网络调试助手初入了解

热门文章

  1. abap语言去除重复项怎么写
  2. GNSS中DCB的使用
  3. 如何将平时的生活收支记录打印出来
  4. 梦想照进现实|CSDN 实体奖牌 第五期
  5. java 获取指定时间的前一个小时
  6. 知识图谱——TransH模型原理
  7. httprunner(9)运行测试用例的方式总结
  8. PS亮度蒙版工具:Lumenzia for Mac(支持ps2022)
  9. Photoshop Elements 2023(PSE简化版2023) 支持win/mac版
  10. ANO匿名飞控STM32代码解读(一)任务调度——Ano_Scheduler.c