Sometimes it can be handy to be able to identify whether or not a module is in a database or not. One way to check is to loop through the AllModules collection to see if it is there or not. Below is a sample procedure that demonstrates how you can check for the existance of a VBA module within your database.
Determine whether a Module Exists using the AllModules Collection
'--------------------------------------------------------------------------------------- ' Procedure : ModuleExist ' Author : CARDA Consultants Inc. ' Website : http://www.cardaconsultants.com ' Purpose : Determine if a module exists within the database ' Copyright : The following may be altered and reused as you wish so long as the ' copyright notice is left unchanged (including Author, Website and ' Copyright). It may not be sold/resold or reposted on other sites (links ' back to this site are allowed). ' ' Input Variables: ' ~~~~~~~~~~~~~~~~ ' sModuleName - Name of the module you are searching for ' ' Usage Example: ' ~~~~~~~~~~~~~~~~ ' ModuleExist("Module2") ' ' Revision History: ' Rev Date(yyyy/mm/dd) Description ' ************************************************************************************** ' 1 2008-Aug-13 Initial Release '--------------------------------------------------------------------------------------- Function ModuleExist(sModuleName As String) As Boolean On Error GoTo Error_Handler Dim mdl As Object ModuleExist = False 'Initialize our variable 'Loop trhough all the modules in the database For Each mdl In CurrentProject.AllModules If mdl.Name = sModuleName Then ModuleExist = True Exit For 'No point continuing if found End If Next Error_Handler_Exit: On Error Resume Next Set mdl = Nothing Exit Function Error_Handler: MsgBox "The following error has occured" & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: ModuleExist" & vbCrLf & _ "Error Description: " & Err.Description, _ vbCritical, "An Error has Occured!" Resume Error_Handler_Exit End Function

Thursday, December 9th, 2010, 5:04 pm | 

