Module Object

Microsoft Access Visual Basic

Show All Show All

Module Object

Multiple objects Module

A Module object refers to a standard module or a class module.

Using the Module Object

Microsoft Access includes class modules that 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.

The following example returns a reference to a standard Module object and assigns it to an object variable:

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.