Gustav Brock
gustav at cactus.dk
Sat Jul 12 13:56:15 CDT 2003
Hi Susan For a large recordset that method may be too slow ... You could try to group by the date field only, setting the grouping interval to "Week". If this groups on Sunday-Saturday, group by =[YourDateField]-1 Then, in your group header, use the DatePrevWeekday() function to calculate the date of Monday. /gustav > Hi Susan >>> YourDateField >>> Ascending, no header or footer >>> =Format([YourDateField],"ww",2,2) >>> Ascending, header and/or footer >> ==========Thanks Gustav, I'm already using this -- I thought it would help >> me get where I wanted to go, but I haven't gotten there yet. :) What I'm >> trying to do is return the full date of that week's Monday -- for instance, >> July 16, is in the 29th week. I want to return July 14, 2003 -- the date of >> the 29th week's Monday. > Well, then this function could be for you! > Change the sorting/grouping of the report to: > =DatePrevWeekday([YourDateField]) > Ascending, header and/or footer > YourDateField > Ascending, no header or footer > <code> > Function DatePrevWeekday( _ > ByVal datDate As Date, _ > Optional ByVal bytWeekday As Byte = vbMonday) _ > As Date > ' Returns the date of the previous weekday, as > ' spelled in vbXxxxday, prior to datDate. > ' 2000-09-06. Cactus Data ApS. > ' No special error handling. > On Error Resume Next > DatePrevWeekday = DateAdd("d", 1 - WeekDay(datDate, bytWeekday), datDate) > End Function > </code>