基于下周日到 2 个月结束的记录选择

Record selection based on Next Sunday through end of 2 months out

我想从 {@Calc Promise Date} 字段中提取日期范围为下周日到下个月月底的所有记录。我有下个月末的部分,并使用本网站上的一些类似示例尝试了下周日的部分,但在下周日的部分我仍然偏离目标。

原定于今天后 5 天开始的尝试:

{@Calc Promise Date}>=DateSerial(Year(currentdate),Month(currentdate),Day(currentdate)+5)
and {@Calc Promise Date}<DateSerial(Year(currentdate),Month(currentdate)+2,1)

这是根据给另一个用户的帮助修改的,但不包括如何将范围的开始日期调整到下周日。

我尝试了以下方法但出现错误,因为我不明白正确的布局,或者这是否有助于获得我想要的开始日期。

{@Calc Promise Date} >= if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 1
then DateSerial(Year(currentdate),Month(currentdate),1+7)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 2
then DateSerial(Year(currentdate),Month(currentdate),1+6)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 3     
then DateSerial(Year(currentdate),Month(currentdate),1+5)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 4    
then DateSerial(Year(currentdate),Month(currentdate),1+4)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 5     
then DateSerial(Year(currentdate),Month(currentdate),1+3)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 6     
then DateSerial(Year(currentdate),Month(currentdate),1+2)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 7    
then DateSerial(Year(currentdate),Month(currentdate),1+1)
and {@Calc Promise Date}<DateSerial(Year(currentdate),Month(currentdate)+2,1)

据我所知,您几乎完成了在 Record Selection 中编写此公式不起作用,而是创建单独的公式并在记录选择中写在衬垫上。

创建公式开始日期:

if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 1
then DateSerial(Year(currentdate),Month(currentdate),1+7)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 2
then DateSerial(Year(currentdate),Month(currentdate),1+6)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 3     
then DateSerial(Year(currentdate),Month(currentdate),1+5)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 4    
then DateSerial(Year(currentdate),Month(currentdate),1+4)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 5     
then DateSerial(Year(currentdate),Month(currentdate),1+3)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 6     
then DateSerial(Year(currentdate),Month(currentdate),1+2)
else if DayOfWeek(DateSerial(Year(currentdate),Month(currentdate),1),1) = 7    
then DateSerial(Year(currentdate),Month(currentdate),1+1)
and {@Calc Promise Date}<DateSerial(Year(currentdate),Month(currentdate)+2,1)

创建公式结束日期

DateSerial(Year(currentdate),Month(currentdate)+2,1)

现在您的记录选择:

{@Calc Promise Date}>={@Start Date}
and {@Calc Promise Date}<{@End Date}