Access具有许多内置函数,通常可以在查询或VBA代码中使用。 一些较常见的是:
注意 :方括号[]中的任何内容都是可选的日期函数Date() -返回当前系统日期Now() -返回当前系统时间戳(日期和时间) Year(dateValue) -返回任意给定日期的4位数字月份Month(dateValue) -返回任意给定日期的月份号MonthName(number,[abreviate]) -返回任何给定数字1-12的月名,在[abreviate部分]中为true将缩写月名。 默认为false。 要获得任何给定日期的月份名称,该功能必须与之前的功能结合使用。 例如,MonthName(Month(dateValue)) Weekday(dateValue,[FirstDayofWeek]) -返回任何给定日期值1-7的星期几。 可以设置一周的第一天,例如vbMonday。 默认值为星期日。 WeekdayName(number,[abbreviate],[firstdayofweek]) -返回任何给定数字的工作日名称。 要获取给定日期的工作日名称,可以将该功能与前一个日期结合使用。 例如WeekdayName(Weekday(dateValue)) Day(dateValue) -返回任何给定日期值的月份(1-31)。 DateSerial(年,月,日) -返回给定年,月和日的日期Time() -返回当前系统时间Hour(timeValue) -返回任何给定时间或时间戳的小时值Minute(timeValue) -返回任何给定时间或时间戳的分钟值Second(timeValue) -返回任何给定时间或时间戳的秒值
对于以下功能,您将需要知道什么间隔:
Value Description
yyyy Year
q Quarter
m Month
y Day of the year
d Day
w Weekday
ww Week
h Hour
n Minute
s Second
DateAdd(interval,number,dateValue) -在添加多个指定的间隔之后返回新的日期值。
例如,DateAdd(“ yyyy”,3,#01/05/2001#)将返回“ 01/05/2004 ” DateDiff(interval,dateValue 1,dateValue2,[firstdayofweek],[firstweekofyear] ) -返回指定的差异两个给定日期之间的间隔。
例如DateDiff(“ yyyy”,# 01/05/2001 #,#02/07/2006#)将返回5。firstdayofweek是可选的。
它指定一周的第一天。
Access假定星期日是一周的第一天。
yearfirstofofyear是可选的。
它指定一年中的第一周。
Access假定包含1月1日的那一周是一年中的第一周。
DatePart(interval,dateValue,[firstdayofweek],[firstweekofyear]) -返回任何给定日期的指定部分。
如DATEPART( “YYYY”,#02/07/2005#)将返回2005年数字函数
以下是通常在称为聚合查询的SELECT查询中使用的方法。 请注意,如果查询还返回其他字段,则结果将按这些字段值分组。
Avg(fieldName) -返回给定字段中一系列值的平均值Count( fieldName ) -返回查询返回的记录总数Sum( fieldName ) -返回给定字段中一系列值的总和Max ( fieldName ) -返回给定字段中一系列值中的最大值Min( fieldName ) -返回给定字段中一系列值中的最小值以下内容可用于查询或VBA代码。
Int(numberValue) -返回任何给定数字的整数部分。 请注意,这不会将数字四舍五入到最接近的整数。 Round(numberValue,[小数位] -返回四舍五入到指定的小数位数的数字。 如果小数位留为空白,则默认值为0,这意味着将返回整数。 Round函数使用舍入到偶数逻辑时表现有些出乎意料。 如果要四舍五入的数字以5结尾,则Round函数将对表达式进行四舍五入,以便最后一位数字为偶数。例如:
Round(22.35,1)将返回12.4(向上取整)
Round(22.65,1)将返回12.6(向下取整)
Round(22.75,1)将返回12.8(向上取整)
瓦尔(stringValue的) -返回字符串中的字符串函数中的任何数字Instr([开始位置],StringBeingSearched,StringSearchedFor,[比较]) -返回正在搜索的字符串中要搜索的字符串或字符的位置编号。 起始位置将默认为位置1(字符串的起始位置)。 比较是要执行的比较类型。 有效选项是vbUseCompareOption,vbBinaryCompare,vbTextCompare和vbDatabaseCompare。 Len(StringValue) -返回给定字符串中的字符数。 这将包括空格。 Left(stringValue,字符数) -从字符串的左侧开始返回所需长度的子字符串。 Right(stringValue,字符数) -从字符串的右边开始返回所需长度的子字符串。 Mid(stringValue,起始位置,字符数) -从字符串中给定的起始位置返回所需长度的子字符串。 域聚合函数 (在表或查询中查找值的函数) DLookup(表达式,域,[条件]) -返回找到的单个值。通常在表达式中放置字段名称,但是它也可以是计算。 对于域,您可以输入表名或查询名。 条件是可选的。 将其视为WHERE子句。 例如DLookup(“ OrderDate”,“ Orders”,“ OrderID = 10248”) DCount(表达式,域,[条件]) -根据给定的条件返回表或查询中的记录数。 条件是可选的。 DMax(表达式,域,[条件]) -返回指定字段中的最大值。 DSum(表达式,域,[条件]) -返回指定字段或计算表达式中值的总和。 其他 IIf(条件,值,如果为true,值,否则为false) -如果条件为true,则返回在Value中放置的任何值,如果条件为false,则返回为false。 在这种情况下,条件就是您要测试的值。 例如IIf(NumberField = 0,“ no value”,NumberField) IsNull(表达式) -如果表达式的计算结果为Null,则返回true,否则返回false。 Nz(变量,[如果为null时的值]) -每当变量具有null值时,返回null的值。 如果为null,则默认值为空字符串。 尽管这指定了一个变量,但它将接受任何数据类型的值并将其视为变量。
From: https://bytes.com/topic/access/insights/741576-access-built-functions