I have a formula that counts the days worked for a specified timeframe. It runs fine until someone runs a report that spans 2 different years (in this case Dec 2011 to Jan 2012). The code I have is this....can anyone see how I would change month 12 to count correctly if the ending date is in a new year?
or maybe a better way to do this portion? All I'm doing is passing the start and end dates to another formula. Thanks lhuffst
Code:
If Month({Command.MYDATE}) = 01 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),01,01);
End := Date(Year({?EndDate}),01,31)
)
Else If Month({Command.MYDATE}) = 02 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),02,01);
End := Date(Year({?EndDate}),02,28)
)
Else If Month({Command.MYDATE}) = 03 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),03,01);
End := Date(Year({?EndDate}),03,31)
)
Else If Month({Command.MYDATE}) = 04 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),04,01);
End := Date(Year({?EndDate}),04,30)
)
Else If Month({Command.MYDATE}) = 05 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),05,01);
End := Date(Year({?EndDate}),05,31)
)
Else If Month({Command.MYDATE}) = 06 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),06,01);
End := Date(Year({?EndDate}),06,30)
)
Else If Month({Command.MYDATE}) = 07 then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),07,01);
End := Date(Year({?EndDate}),07,31)
)
Else If Month({Command.MYDATE}) = 08 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),08,01);
End := Date(Year({?EndDate}),08,31)
)
Else If Month({Command.MYDATE}) = 09 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),09,01);
End := Date(Year({?EndDate}),09,30)
)
Else If Month({Command.MYDATE}) = 10 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),10,01);
End := Date(Year({?EndDate}),10,31)
)
Else If Month({Command.MYDATE}) = 11 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
(
Start := Date(Year({?BeginDate}),11,01);
End := Date(Year({?EndDate}),11,30)
)
Else If Month({Command.MYDATE}) = 12 Then
If Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = Month({?EndDate}) then
(
Start := {?BeginDate};
End := {?EndDate}
)
else
if Month({Command.MYDATE}) = Month({?BeginDate}) and
Month({Command.MYDATE}) = 01 then
(
Start := Date(Year({?BeginDate}),12,01);
End := Date(Year({?EndDate}),01,31);
)
else
(
Start := Date(Year({?BeginDate}),12,01);
End := Date(Year({?EndDate}),12,31)
);