在MS Access Table上,我希望根据另一列中的日期列出具有下一季度第一天的列。
例如,我有Start_Date
列,其值为2018-02-04
,我希望该列上的记录显示下一季度将从2018-04-01
开始。
我使用以下公式在Excel中正常工作:
= DATE(YEAR(M2),((INT((MONTH(M2)-1)/ 3)+1)* 3)+1,1)
在Access中,我添加了选择Calculated Field
>列的列。 Date/Time
,但无法找到让它像Excel一样工作的方法。
有没有人曾经尝试过这个或知道可能的解决方案?感谢
答案 0 :(得分:1)
您可以使用此功能:
Public Function DateNextQuarterFirst( _
Optional ByVal datDateThisQuarter As Date) As Date
Const cintQuarterMonthCount As Integer = 3
Dim intThisMonth As Integer
If datDateThisQuarter = 0 Then
datDateThisQuarter = Date
End If
intThisMonth = DatePart("q", datDateThisQuarter) * cintQuarterMonthCount
DateNextQuarterFirst = DateSerial(Year(datDateThisQuarter), intThisMonth + 1, 1)
End Function
在具有与此类似的SQL的查询中使用它:
Select *, DateNextQuarterFirst([Start_Date]) As NextQuarterFirst
From YourTable