*grin*
Jan 3rd was the first business day of 2000, not Jan. 4th. I'm only giving you a hard time because that was the point of Bill's original question. January is a special case, and he wants it to work properly.
And Sept. is another special case in the US. Labor Day is *always* the first Monday of the month.
>Oh come on. Special cases are almost endless thinking of the world countries and holidays shifting each year. Just for Jan 1st you could say :
>
>
>? Indate > FirstBizDay(Indate)
>
>FUNCTION FirstBizDay
>LPARAMETERS ldDate
>LOCAL FDOM
>FDOM = ldDate - Day(ldDate) + 1
>RETURN iif(month(ldDate)=1,1,0)+;
>FDOM + IIF(DOW(FDOM,2)>5, 8-DOW(FDOM,2), 0)
>
And still shorter :)
>Cetin
>
>
>>This function returns incorrect answer for January of this year...Jan. 2nd was the first business day.
>>
>>I like my long function :)
>>
>>>Right.
>>>
>>>? Indate > FirstBizDay(Indate)
>>>
>>>FUNCTION FirstBizDay
>>>LPARAMETERS ldDate
>>>LOCAL FDOM
>>>FDOM = ldDate - Day(ldDate) + 1
>>>RETURN FDOM + IIF(DOW(FDOM,2)>5, 8-DOW(FDOM,2), 0)
>>>
>>>Cetin
>>>
Steve Gibson