ACC: Function to Get Date of Monday Prior to Current Day

Last reviewed: August 29, 1997
Article ID: Q103138
The information in this article applies to:
  • Microsoft Access versions 1.0, 1.1, 2.0, 7.0, 97

SUMMARY

Moderate: Requires basic macro, coding, and interoperability skills.

This article describes a function that you can use to find the date of the Monday prior to the current day.

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.

NOTE: Visual Basic for Applications is called Access Basic in Microsoft Access versions 1.x and 2.0. For more information about Access Basic, please refer to the "Introduction to Programming" manual in Microsoft Access version 1.x or the "Building Applications" manual in Microsoft Access version 2.0

MORE INFORMATION

The following function determines Monday's date according to the following criteria:

  • If the current date is Tuesday through Sunday, it yields the prior Monday's date.
  • If the current day is Monday, it returns the current date.
  • If the date is Null or is not a valid date, it returns Null.

    Function GetMonDate(CurrentDate)

         If VarType(CurrentDate)<>7 then
           GetMonDate=Null
         Else
           Select Case WeekDay(CurrentDate)
    
             Case 1       ' Sunday
               GetMonDate=CurrentDate-6
             Case 2       ' Monday
               GetMonDate=CurrentDate
             Case 3 to 7  ' Tuesday..Saturday
               GetMonDate=CurrentDate-WeekDay(CurrentDate)+2
           End Select
         End If
       End Function
    
    
To test the function, type the following line in the Debug window (or Immediate window in versions 1.x and 2.0), and then press ENTER:

   Print GetMonDate(#4/30/93#)

Note that you receive the following result:

   #4/26/93#
Keywords          : kbprg PgmHowTo PgmOthr
Version           : 1.0 1.1 2.0 7.0 97
Platform          : WINDOWS
Hardware          : x86
Issue type        : kbinfo


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: August 29, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.