围绕特定日期但年份不断变化的访问查询[关闭]
Posted
技术标签:
【中文标题】围绕特定日期但年份不断变化的访问查询[关闭]【英文标题】:Access Queries surrounding specific date yet changing year [closed] 【发布时间】:2017-03-04 14:04:17 【问题描述】:我正在帮助客户处理他们的数据库,但在生成查询部分的条件时遇到了一些问题。如果它在 2017 年 1 月 9 日之前,我需要标准为“2018”,如果在 2017 年 1 月 9 日之后,我需要为 2019 年,但是它需要在 2018 年 1 月 9 日之后更改为 2020 年。任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:您似乎想减去 9 天,然后添加一些适当的数量(1 年或 2 年)。您可以使用dateadd()
执行此操作。所以,是这样的:
select year(dateadd("day", -9, coldate)) + 1
注意:如果您的日期确实是 9 月 1 日而不是 1 月 9 日,那么请使用月而不是日。这个想法仍然成立:减去一个区间,然后使用year()
函数。
【讨论】:
我的意思是 sep 1st 所以是 select year(dateadd("month", -1, year())) + 9 吗?【参考方案2】:您可以有一个函数将日历天“转换”为财政年度的天数:
Public Function DateFinancial( _
ByVal Date1 As Date) _
As Date
' End month of financial (fiscal) year.
Const EndMonth As Long = 8
Dim ResultDate As Date
ResultDate = DateAdd("m", 12 - EndMonth, Date1)
DateFinancial = ResultDate
End Function
因此,要获取日历日期的财政年度:
FinancialYear = Year(DateFinancial([YourDateField]))
根据你需要后一年,添加一年:
FinancialYearNext = Year(DateFinancial([YourDateField])) + 1
或:
FinancialYearNext = Year(DateFinancial(DateAdd("yyyy", 1, [YourDateField])))
【讨论】:
以上是关于围绕特定日期但年份不断变化的访问查询[关闭]的主要内容,如果未能解决你的问题,请参考以下文章