围绕特定日期但改变年份的访问查询
Access Queries surrounding specific date yet changing year
我正在帮助客户处理他们的数据库,但在生成查询部分的条件时遇到了一些问题。如果在 01/09/2017 之前,我需要将标准设置为“2018”;如果在 01/09/2017 之后,则需要设置为“2019”,但需要在 01/09/2018 之后更改为 2020。任何帮助将不胜感激。
看来你是想减去9天,然后适当的加上一些(1年或2年)。您可以使用 dateadd()
执行此操作。所以,像这样:
select year(dateadd("day", -9, coldate)) + 1
注意:如果您的日期真的是 9 月 1 日而不是 1 月 9 日,请使用月而不是天。思路依旧:减去一个区间,然后用year()
函数
您可以使用一个函数将 "converts" 个日历日转换为财政年度的天数:
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])))
我正在帮助客户处理他们的数据库,但在生成查询部分的条件时遇到了一些问题。如果在 01/09/2017 之前,我需要将标准设置为“2018”;如果在 01/09/2017 之后,则需要设置为“2019”,但需要在 01/09/2018 之后更改为 2020。任何帮助将不胜感激。
看来你是想减去9天,然后适当的加上一些(1年或2年)。您可以使用 dateadd()
执行此操作。所以,像这样:
select year(dateadd("day", -9, coldate)) + 1
注意:如果您的日期真的是 9 月 1 日而不是 1 月 9 日,请使用月而不是天。思路依旧:减去一个区间,然后用year()
函数
您可以使用一个函数将 "converts" 个日历日转换为财政年度的天数:
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])))