Description
A Module object refers to a standard module or a class module.
Remarks Microsoft Access includes class modules which are not associated with any object, and form modules and report modules, which are associated with a form or report. To determine whether a Module object represents a standard module or a class module from code, check the Module object's Type property. The Modules collection contains all open Module objects, regardless of their type. Modules in the Modules collection can be compiled or uncompiled. To return a reference to a particular standard or class Module object in the Modules collection, use any of the following syntax forms.Syntax | Description |
Modules!modulename | The modulename argument is the name of the Module object. |
Modules("modulename") | The modulename argument is the name of the Module object. |
Modules(index) | The index argument is the numeric position of the object within the collection. |
Dim mdl As Module
Set mdl = Modules![Utility Functions]
Note that the brackets enclosing the name of the Module object are necessary only if the name of the Module includes spaces.
The next example returns a reference to a form Module object and assigns it to an object variable:
Dim mdl As Module
Set mdl = Modules!Form_Employees
To refer to a specific form or report module, you can also use the Form or Report object's Module property:
Forms!formname.Module
The following example also returns a reference to the Module object associated with an Employees form and assigns it to an object variable:
Dim mdl As Module
Set mdl = Forms!Employees.Module
Once you've returned a reference to a Module object, you can set or read its properties and apply its methods.
Properties
Application property, CountOfDeclarationLines property, CountOfLines property, Lines property, Parent property, ProcBodyLine property, ProcCountLines property, ProcOfLine property, ProcStartLine property, Type property.
Methods
AddFromFile method (Module object), AddFromString method, CreateEventProc method, DeleteLines method, Find method, InsertLines method, InsertText method, ReplaceLine method.
Events
Initialize event, Terminate event.See Also Modules collection.
Example The following example returns a reference to a Module object in the Modules collection and prints the number of lines of code in the module:Function LinesInModule(strModuleName As String) As Long
Dim mdl As Module
On Error GoTo Error_LinesInModule
' Open module.
DoCmd.OpenModule strModuleName
' Return reference to Module object.
Set mdl = Modules(strModuleName)
' Return number of lines in module.
LinesInModule = mdl.CountOfLines
Exit_LinesInModule:
Exit Function
Error_LinesInModule:
MsgBox Err & ": " & Err.Description
' If function fails, return -1.
LinesInModule = -1
Resume Exit_LinesInModule
End Function