2017-09-01 101 views
2

我試圖獲取日期範圍,該日期範圍需要事務日期之後的日曆年。說如果日期是今年,那麼它應該是1/01/2018 - 12/31/2018。格式明年的日期範圍

我正在使用這種語法,但得到錯誤,第一行後的所有內容都不是公式的一部分。有任何想法嗎?

Local DateVar d := CDate cstr(year({TransDate})); 
Local DateVar Range dr := DateSerial (Year(d)+ 1, Month(d) - 1, 1) To 
          DateSerial (Year(d)+ 1, Month(d) - 1, 1); 

回答

2

您在第一行中缺失了CDate的括號。正確的語法是:

Local DateVar d := CDate(cstr(year({?Start Date}))); 

但是,仍然不會工作,因爲公式的結果不能是日期範圍。相反,將範圍分爲StartDateEndDate字段,然後將其用於計算。


開始日期:DateSerial(Year({?Date}) + 1, 1, 1)

結束日期:DateSerial(Year({?Date}) + 1, 12, 31)

+0

所以使用兩個公式域? – user1327418

+1

@ user1327418非常。我使用日期範圍做了很多報告,而且我總是使用'{Date}> = {StartDate} AND {Date} <= {EndDate}' – 4444

+0

但是如果您有給定的日期,您如何推導下一年的第一個那一年? – user1327418