围绕特定日期但改变年份的访问查询

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])))