Query/Expression 上个月
Query/Expression for Previous Month
在Access 2010中用作表达式,下面的return,例如AUG15
.
Left(MonthName(Month(Date())),3) & Right(Year(Date()),2)
如何将此修改为上个月的 return,即 JUL15
?
你应该看看 DateAdd 函数:
DateAdd ( interval, number, date )
根据您的具体要求,您可以使用它从当前日期减去一个月,如下所示:
DateAdd(m, -1, Date())
...或以您的表达为基础:
Left(MonthName(Month(DateAdd(m, -1, Date()))),3) & Right(Year(DateAdd(m, -1, Date())),2)
从@Sam 建议的 DateAdd
表达式开始...
? DateAdd("m", -1, Date())
7/13/2015
接下来使用 Format
将其表示为 3 个字母的月份加 2 位数字的年份 ...
? Format(DateAdd("m", -1, Date()), "mmmyy")
Jul15
如果您希望月份全部大写,请将前面的表达式提供给 UCase
...
? UCase(Format(DateAdd("m", -1, Date()), "mmmyy"))
JUL15
请注意,这些示例来自 Access Immediate window,但这些表达式(没有 ?
)在您的查询中的作用相同。
获取上个月同一天的记录,例如。今天是19/12/21,获取19/11/21的记录,可以使用参数查询,输入需要的日期。
如果上个月的每条记录,即从 1/11/21 到 30/11/21,查询中应创建两列以标识所需的月份和年份。说清楚,查询 m:month(date())
和 y:year(date())
中的 2 列以及标准行中的月份和年份标准。如果上个月 m 列的条件是 IIF(month(date())=1,12,month(date())-1)
,y 列的条件是 IIf(month(date())=1,year(date())-1,year(date()))
。
IIF
适用于当前日期是一月份的情况。
在Access 2010中用作表达式,下面的return,例如AUG15
.
Left(MonthName(Month(Date())),3) & Right(Year(Date()),2)
如何将此修改为上个月的 return,即 JUL15
?
你应该看看 DateAdd 函数:
DateAdd ( interval, number, date )
根据您的具体要求,您可以使用它从当前日期减去一个月,如下所示:
DateAdd(m, -1, Date())
...或以您的表达为基础:
Left(MonthName(Month(DateAdd(m, -1, Date()))),3) & Right(Year(DateAdd(m, -1, Date())),2)
从@Sam 建议的 DateAdd
表达式开始...
? DateAdd("m", -1, Date())
7/13/2015
接下来使用 Format
将其表示为 3 个字母的月份加 2 位数字的年份 ...
? Format(DateAdd("m", -1, Date()), "mmmyy")
Jul15
如果您希望月份全部大写,请将前面的表达式提供给 UCase
...
? UCase(Format(DateAdd("m", -1, Date()), "mmmyy"))
JUL15
请注意,这些示例来自 Access Immediate window,但这些表达式(没有 ?
)在您的查询中的作用相同。
获取上个月同一天的记录,例如。今天是19/12/21,获取19/11/21的记录,可以使用参数查询,输入需要的日期。
如果上个月的每条记录,即从 1/11/21 到 30/11/21,查询中应创建两列以标识所需的月份和年份。说清楚,查询 m:month(date())
和 y:year(date())
中的 2 列以及标准行中的月份和年份标准。如果上个月 m 列的条件是 IIF(month(date())=1,12,month(date())-1)
,y 列的条件是 IIf(month(date())=1,year(date())-1,year(date()))
。
IIF
适用于当前日期是一月份的情况。