| Title: Rolling quarter views This tip was submitted by David Peabody.
 
 If you need views, based on a date field, for rolling quarters, this
 formula will select the documents depending on if you want 1 quarter
 ago, 2 quarters ago, etc. You'll have to specify the value for
 AdjValue and the form name in the SELECT statement at the end of the
 formula.
 
 CODE:
 
 REM"I use this formula for creating views that select documents on a rolling
 quarter";
 REM"If you need views for the last 4 Qtrs, you'll need 4 views";
 REM"If You want 1 Qtr Ago set AdjValue to 2";
 REM"If You want 2 Qtrs Ago set AdjValue to 5";
 REM"If You want 3 Qtrs Ago set AdjValue to 8";
 REM"If You want 4 Qtrs Ago set AdjValue to 11";
 AdjValue:=2;
 REM"variables to be manipulated";
 ADJMonth := ADJMonth;
 QtrEnd := QtrEnd;
 REM"To determine if the current month begins a quarter, we must do two things";
 REM"We will perform modular division by 3 on the current month and in order to
 account";
 REM"for Jan. and Feb. we'll add 3 to the value of the current month";
 date:=@Adjust(@Today; 0; 3; 0; 0; 0; 0);
 newmonth:=@Month(date);
 dayofmonth := @Day(date);
 dateMOD3 := @Modulo(newmonth;3) ;
 REM"If this month ends a quarter, dateMOD3=0, we need to go back 5, 8, 11, or 14
 months";
 REM"If this month does not end a quarter, -(dateMOD3) - AdjValue, will give us
 the start month of the Qtr";
 @If(dateMOD3=0;@Set("ADJMonth";-3-AdjValue);@Set("ADJMonth"; -(XMOD3) -
 AdjValue));
 REM"Set the start month";
 desiredQtrStart  := @Adjust(@Today;0;ADJMonth;0;0;0;0);
 REM"Set the start date";
 QtrStart :=
 @TextToTime(@Text(@Month(desiredQtrStart))+"/01/"+@Text(@Year(desiredQtrStart)))
 ;
 REM"Set the end date";
 QrtrStartMonth := @Month(QtrStart);
 QrtrEndDate := @Adjust(QtrStart;0;2;0;0;0;0);
 REM"Check for months ending with 31 days";
 @If(QrtrStartMonth=1|QrtrStartMonth=10;
 
 @Set("QtrEnd";@TextToTime(@Text(@Month(QrtrEndDate))+"/31/"+@Text(@Year(QrtrEndD
 ate))));
 
 @Set("QtrEnd";@TextToTime(@Text(@Month(QrtrEndDate))+"/30/"+@Text(@Year(QrtrEndD
 ate)))));
 SELECT @If(DateFieldNameOnYourForm>=QtrStart & DateFieldNameOnYourForm
 <=QtrEnd; Form = "YourFormName";"")
 
 END CODE
 
 previous page
 
 
 |