UtterAccess HomeUtterAccess Wiki

Welcome Guest ( Log In | Register )

Custom Search
Edit Discussion
> FirstDayOfCurrentWeek    


Synopsis

Calculate the date of the first day of the current week. This function is one of four (see also FirstDayOfWeek LastDayOfCurrentWeek LastDayOfWeek ) that can be used to calculate the beginning or ending date of seven day week. A typical use would be in an invoicing/collections application that requires reporting on outstanding invoices that will reach a certain age in days sometime during the current week. This UA post provides a more compact alternative to the code used in this function.

CODE
' FirstDayOfCurrentWeek
' http://www.utteraccess.com/wiki/FirstDayOfCurrentWeek
' Code courtesy of UtterAccess Wiki
' Licensed under Creative Commons License
' http://creativecommons.org/licenses/by-sa/3.0/
'
' You are free to use this code in any application,
' provided this notice is left unchanged.
'
' rev  date                          brief descripton
' 1.1  2011-02-19                    else clause modified
'
Public Function fFirstDayOfCurrentWeek(rbytWeekStartsOn As Byte) As Date
' Procedure: fFirstDayOfCurrentWeek
'
' Description:return the date of the first day of the week in which
'              the current day occurs
'--
   Const cstrProcedure = "fFirstDayOfCurrentWeek"

   Dim intOffset As Integer
   Dim dtmResult As Date

   On Error GoTo HandleError

   intOffset = Weekday(Date) - rbytWeekStartsOn

   If intOffset >= 0 Then
       dtmResult = Date - intOffset
   Else
       'dtmResult = rDate + 7 - intOffset
      dtmResult = Date - intOffset - 7
   End If

   fFirstDayOfCurrentWeek = dtmResult

HandleExit:

   Exit Function

HandleError:
   'insert custom error handler here
'    ErrorHandle Err, Erl(), cstrModule & "." & cstrProcedure
'    Resume HandleExit
End Function

Creative Commons License
FirstDayOfCurrentWeek by UtterAccess Wiki is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Editing and revision of the content is freely encouraged; for details, see Expected Usage.

Edit Discussion
Custom Search
Thank you for your support!
This page has been accessed 7,922 times.  This page was last modified 08:29, 6 April 2011 by Jack Leach. Contributions by Glenn Lloyd  Disclaimers