logo
search
VBA & Macro Problems

How to Make Access Forms Appear in the VBA Project Explorer

Maira MehtabMaira Mehtab Sep 22, 2026 869 views

Question details

The user wants to view Microsoft Access forms and reports in the VBA Project Explorer, but they are currently missing from the interface.

Product
Microsoft Access
Device & OS
not provided
Scenario
Working with VBA code for forms or reports in a Microsoft Access database.
Observed behavior
Forms and reports do not appear in the VBA Project Explorer by default because their corresponding class modules have not yet been created or activated.
Before you start

Ensure your Access database is open in Design View and that you have the necessary permissions to edit form properties and access the VBA (Visual Basic for Applications) environment.

Solution 1Recommended

Create an Event Procedure for the Form

The most common way to generate a form's class module is by creating a simple event procedure from the form's property settings.

A form's module is uniquely tied to that specific form. Because Access optimizes performance by keeping forms lightweight, these class modules will not appear in the VBA Editor until code has been explicitly added to them.

1
Open Design View

Open your Microsoft Access database, right-click the target form or report in the navigation pane, and select 'Design View'.

2
Access the Property Sheet

If the Property Sheet is not visible on the right side of the screen, press the F4 key or click 'Property Sheet' in the Design ribbon.

3
Select the Event Tab

Click the 'Event' tab on the Property Sheet. Ensure the selection type at the top of the sheet says 'Form' or select a specific control.

4
Create the Event

Choose a specific event (such as 'On Click' or 'On Load') and click the ellipsis (...) button to open the VBA Editor. This action automatically generates the module and makes the form visible in the Project Explorer.

Free Microsoft Office alternative

Looking for a Free, Lightweight Alternative to Microsoft Office?

While Microsoft Access handles heavy database management, for your everyday documentation, spreadsheet data analysis, and presentation needs, WPS Office offers a comprehensive suite. It is completely free, lightweight, and highly compatible with standard Microsoft Office files.

  1. 1. Download WPS Office: Visit the official WPS website and download the free installation package for your operating system.
  2. 2. Install the Suite: Run the installer and follow the on-screen instructions to complete the setup in minutes.
  3. 3. Open Your Files: Launch WPS Office to easily open, edit, and save your existing Word, Excel, and PowerPoint files natively.
Free to use with a familiar, user-friendly interface that requires zero learning curve.Seamless compatibility with Microsoft Office formats (.docx, .xlsx, .pptx) and robust macro support in Spreadsheets.Lightweight installation that runs smoothly on almost any desktop or mobile device.Includes built-in, advanced PDF viewing and editing capabilities at no extra cost.
microsoft office alternative - wps office

Frequently Asked Questions

Why is it called VBA and not just Visual Basic?

VBA stands for Visual Basic for Applications. It is a specialized version of Visual Basic designed specifically to be hosted within applications like Microsoft Access, Excel, and Word to automate tasks and directly control the host application's features.

Are Microsoft Access form modules standard modules or class modules?

Access form and report modules are class modules. They are uniquely tied to the specific form or report they belong to and can contain custom properties, events, and methods.

Can I create multiple instances of an Access form programmatically?

Yes, because forms act as class modules, you can use VBA code to instantiate and display multiple instances of the same form simultaneously within your database.

Will a form's VBA code run if the 'Has Module' property is set to No?

No. If the 'Has Module' property is set to No, the form's class module is removed, and any VBA code associated with that specific form will not execute. You must set it to Yes or create an event procedure for the code to run.