2017-03-04 48 views
0

我正在幫助客戶與他們的數據庫,並且在查詢部分生成條件時遇到一些問題。如果在01/09/2017之前,2019年之前的標準是2018年,如果是在01/09/2017之後,則需要2019年的標準,但是之後需要在01/09/2018之後更改爲2020。任何幫助將不勝感激。訪問權限查詢周圍特定日期但不斷變化的年份

回答

0

看來,你想減去9天,然後添加一些適當的金額(1或2年)。你可以使用dateadd()來做到這一點。所以,這樣的事情:

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

注意:如果你的約會真的意味着9月1日,而不是1月9日,然後使用幾個月而不是幾天。這個想法仍然成立:減去一個時間間隔,然後使用year()函數。

+0

我的意思是sep第一,所以會選擇年份(dateadd(「month」,-1,year()))+ 9? –

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]))) 
相關問題