Initialize Access Global Variables
Global Variables are valuable because they retain their values throughout the session, and can be modified from forms and other modules. A good practive is to initialize them at the startup of your Access application by creating a Macro called "AutoExec" and run a code module that initializes the variables. A sample of this startup module is shown below.
Program Code
Option Compare Database
Option Base 1
' **********************************************
' Set Global Variables When Triggered by the
' Autoexec Macro At Application Startup
' **********************************************
Option Explicit
Public strSelectedBodyCode As String
Public strReportQueryType As String
Public strFullPriceOption As String
Public strMultipleSelectFilter As String
Public strMinMaxRequest As String
Public strPDFOrExcel As String
Public strIncludeTheseAccounts As String
Public strImportDirectory As String
Public strSellDownStyle As String
Public strSellDownColor As String
Public dtePeriod1EndDate As Date
Public dtePeriod2EndDate As Date
Public dtePeriod3EndDAte As Date
Public dtePeriod4EndDate As Date
Public strResult As String
Public strDirectoryPath As String
Public Function SetGlobalVariablesAtStartup()
strImportDirectory = "C:\"
strSelectedBodyCode = "ALL"
strReportQueryType = "ALL"
strFullPriceOption = "A"
strMultipleSelectFilter = ""
strMinMaxRequest = "N"
strPDFOrExcel = "P"
strIncludeTheseAccounts = "S"
strResult = " "
strSellDownStyle = ""
strSellDownColor = ""
If Day(Date) < 16 Then
dtePeriod1EndDate = DateSerial(Year(Date), Month(Date), 15)
dtePeriod2EndDate = DateSerial(Year(dtePeriod1EndDate), Month(dtePeriod1EndDate) + 1, 1)
dtePeriod3EndDAte = DateSerial(Year(dtePeriod2EndDate), Month(dtePeriod2EndDate), 15)
dtePeriod4EndDate = DateSerial(Year(dtePeriod3EndDAte) + 1, Month(dtePeriod3EndDAte), Day(dtePeriod3EndDAte))
Else
dtePeriod1EndDate = DateSerial(Year(Date), Month(Date) + 1, 1)
dtePeriod2EndDate = DateSerial(Year(dtePeriod1EndDate), Month(dtePeriod1EndDate), 15)
dtePeriod3EndDAte = DateSerial(Year(dtePeriod2EndDate), Month(dtePeriod2EndDate) + 1, 1)
dtePeriod4EndDate = DateSerial(Year(dtePeriod3EndDAte) + 1, Month(dtePeriod3EndDAte), Day(dtePeriod3EndDAte))
End If
End Function