2017-03-04 6 views
0

私はデータベースでクライアントを手伝っていますが、クエリセクションで基準を生成する際に問題が発生しています。基準は、2011年1月9日以前であれば「2018」、2018年1月1日以降であれば2019が必要ですが、その後は2018年1月9日以降に2020に変更する必要があります。どんな助けでも大歓迎です。アクセスしている特定の日付を囲んでいる月がまだ変わっています

答えて

0

9日を減算してから、適切な金額(1年または2年)を追加すると思われます。これはdateadd()を使用して行うことができます。したがって、このような何か:

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

注:あなたの日付は、実際に9月1日ではなく1月9日を意味している場合、数ヶ月の代わりの日を使用しています。考え方はまだ成り立ちます:間隔を減算してからyear()関数を使用してください。

+0

私はsep 1stを意味しましたので、year(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])) 

を1年間の追加、翌年必要があります。

FinancialYearNext = Year(DateFinancial([YourDateField])) + 1 

か:

FinancialYearNext = Year(DateFinancial(DateAdd("yyyy", 1, [YourDateField]))) 
関連する問題