访问特定日期但更改年份的查询

时间:2017-03-04 14:04:18

标签: database ms-access ms-access-2016

我正在使用他们的数据库帮助客户端,并且在查询部分生成条件时遇到一些问题。我需要的标准是" 2018"如果是在01/09/2017和2019之前,如果是在2017年9月1日之后,那么它需要在01/09/2018之后改为2020。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您似乎想要减去9天,然后添加一些适当的金额(1或2年)。您可以使用dateadd()执行此操作。所以,像这样:

select year(dateadd("day", -9, coldate)) + 1

注意:如果您的日期确实意味着9月1日而不是1月9日,那么请使用几个月而不是几天。这个想法仍然存在:减去一个间隔,然后使用year()函数。

答案 1 :(得分:0)

你可以拥有一个"转换"财政年度的日历天数:

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