Others

How to List Access Database Objects in Microsoft Access

Rana GarciaRana Garcia Oct 15, 2026 868 views

Question details

The user needs to generate a comprehensive list of all database objects, such as tables, queries, forms, reports, modules, and macros stored within a Microsoft Access database.

How to List Access Database Objects
Product
Microsoft Access
Device & OS
not provided
Scenario
Auditing or reviewing the structure of a database file to extract a complete list of all object names and their respective types.
Observed behavior
Looking for a method or SQL script to systematically output all database objects while cleanly filtering out hidden system and temporary files.
Before you start

Ensure you have the necessary database permissions to read hidden system objects like the MSysObjects table, as restricted permissions may prevent the query from running properly.

Solution 1Recommended

Run a SQL UNION Query Against MSysObjects

Use a custom SQL query targeting the hidden MSysObjects system table to extract a clean list of all user-created database objects while excluding temporary files.

Microsoft Access automatically stores metadata for tables, queries, forms, reports, modules, and macros in a system table called MSysObjects. You can use a UNION query to retrieve and group these object names alongside their types.

The object type values used in MSysObjects are: 1 for tables, 5 for queries, -32768 for forms, -32764 for reports, -32761 for modules, and -32766 for macros.

1
Open Query Design

Open your Microsoft Access database, navigate to the 'Create' tab on the ribbon, and click on 'Query Design'. If the 'Show Table' dialog box appears, simply close it.

2
Switch to SQL View

Right-click the query tab or use the 'View' button in the top-left corner to switch your query window from Design View to 'SQL View'.

3
Input the UNION Query

Paste the following SQL statement into the text area: SELECT MyList.ObjTyp, MyList.Name FROM (SELECT Name, 'table' AS ObjTyp FROM MSysObjects WHERE [Name] NOT LIKE '~*' AND [Name] NOT LIKE 'MSys*' AND MSysObjects.Type = 1 UNION SELECT Name, 'query' AS ObjTyp FROM MSysObjects WHERE [Name] NOT LIKE '~*' AND MSysObjects.Type = 5 UNION SELECT MSysObjects.Name, 'form' AS ObjTyp FROM MSysObjects WHERE [Name] NOT LIKE '~*' AND MSysObjects.Type = -32768 UNION SELECT MSysObjects.Name, 'report' AS ObjTyp FROM MSysObjects WHERE [Name] NOT LIKE '~*' AND MSysObjects.Type = -32764 UNION SELECT MSysObjects.Name, 'module' AS ObjTyp FROM MSysObjects WHERE [Name] NOT LIKE '~*' AND MSysObjects.Type = -32761 UNION SELECT MSysObjects.Name, 'macro' AS ObjTyp FROM MSysObjects WHERE [Name] NOT LIKE '~*' AND MSysObjects.Type = -32766) AS MyList GROUP BY MyList.ObjTyp, MyList.Name ORDER BY MyList.ObjTyp DESC;

4
Execute the Query

Click the 'Run' button (the red exclamation mark icon) in the Design ribbon to execute the query. The results will display a clean, categorized list of your database objects.

Run a SQL UNION Query Against MSysObjects
Filtering System Files: The query specifically uses the NOT LIKE '~*' and NOT LIKE 'MSys*' conditions to ensure deleted, temporary, or internal system tables do not clutter your generated object list.
Free Microsoft Office alternative

Looking for a Lightweight Microsoft Office Alternative?

While WPS Office does not include a direct database tool like Microsoft Access, it is an exceptionally robust, free alternative for your everyday word processing, spreadsheet analysis, and presentation tasks. It offers a highly familiar UI, lightweight installation, and seamless migration for standard office document workflows.

  1. 1. Visit the Official Website: Navigate to the WPS Office website to find the version that matches your PC or Mac operating system.
  2. 2. Download the Installer: Click the download button to grab the lightweight installation package.
  3. 3. Install and Begin Working: Run the quick installer, open the application, and start editing your documents with zero learning curve.
Fully compatible with Microsoft Word, Excel, and PowerPoint file formats.Familiar, user-friendly UI ensuring a seamless migration from Microsoft Office.Lightweight software footprint resulting in ultra-fast startup times.Completely free to use as a primary office suite for everyday document productivity.
microsoft office alternative - wps office

Frequently Asked Questions

What is the MSysObjects table in Access?

MSysObjects is a hidden, built-in system table in Microsoft Access that automatically stores essential metadata about all the database objects (such as tables, queries, forms, and reports) that exist within the database file.

Why do some database objects start with '~' in Access?

Object names prefixed with a tilde ('~') are generally temporary files created by Microsoft Access during database operations, or they represent objects that have been deleted but not yet purged by compacting the database.

How can I view hidden system tables in the Navigation Pane?

To view hidden system objects, right-click the top header of the Navigation Pane, select 'Navigation Options', and check the box labeled 'Show System Objects' under the Display Options.