Summary: Is your Microsoft Access database constantly throwing errors, due to which the records cannot be read as there’s “no read permission”. These errors may appear due to database corruption. In this post, we will help you resolve a particular Access database error, the “MSysAccessObjects” error (where xxxx is the object name, and can be used either as a system object or user object).
Access database stores all information in MDB and ACCDB files, in the form of tables with proper segregation of data in columns & rows. A major cause of Access database corruption is damage in these tables. There are several system tables within Access database that collectively represent vital information about the database. Some of these system tables — MSysAccessObjects, MSysRelationships, MSysACEs, MSysQueries, and MSysObject—are hidden from the users, meaning, the users cannot directly access them.
This lowers the chances of direct damage to them; however, reasons such as virus infection or bad sectors can still corrupt these tables, causing database errors.
One of the common errors with Access system tables is associated with a code identified as Error Code 3112 which runs the message— “Record(s) cannot be read; no read permission on ‘MSysAccessObjects’.
Why does Runtime Error 3112 occur?
Error Code 3112 ‘MSysAccessObjects’ usually occurs when end users try to open a corrupt MDB or ACCDB file with the help of Microsoft Access database. The error message “Record(s) cannot be read, no read permission on ‘MSysAccessObjects’” occurs if:
- The end users don’t have the necessary permissions to view the tables and data.
- The table or data stored within the tables are damaged or corrupted.
How to Resolve MS Access Database Error in MSysAccessObjects
If you are not able to access the MDB or ACCDB data files in Access database or facing ‘MSysAccessObjects’ error, here are some of the solutions:
Fix 1: Compact & Repair Utility
The Access built-in Compact & Repair Utility can be used by following these steps:
- In case the MS Access database is open, close it.
- Go to the Tool menu. Then, select the option “Database Utilities”, and choose the option “Compact & Repair Database.”
- A dialog box on the screen will appear showing “Database to Compact From.” Select the particular database file and click the same.
- Now, a new dialog box screen will appear with the message “Compact Database Into.” Here, enter the database file name, and click the same.
In case the built-in Compact & Repair tool is not able to repair the Microsoft Access Database file, then this indicates that the MS Access files are severely damaged or corrupted.
Fix 2: Import Database Utility
Most of the times, creation of a new database and importing the objects one by one from the old database to a new database might help. Once you have imported all the objects, re-create the existing relationships. If you are not able to use “Import Wizard” then you can make use of the following steps:
- Go to the database, and select the option “Objects”. Then, move ahead to the option “Pages”, and click “New” tab.
- In the dialog box that appears, select the particular Existing Web page, and click on the same.
- Now, you are required to select the location for the given data access page.
Fix 3: Export the MS Access Table to the ASCII File
When the tables in your Access database are damaged and you are not able to repair the MDB or ACCDB files with the above-mentioned repair steps, you can try out the following method:
- Export the MS Access table to the ASCII file
- Delete the given table along with the associated relationships from the MS Access database
- Compact the database
- Re-create the MS Access table with the existing content
- Now import the ASCII file to the newly-created table
What to do if none of these techniques work?
If you are unable to resolve the ‘MSysAccessObjects’ error with help of the above-mentioned techniques, download Stellar Repair for Access to repair MDB and ACCDB files.
Wrapping it up
We hope that the methods outlined in this post — Compact & Repair utility, database import, and others— help you resolve the ‘MSysAccessObjects’ error in Access database. However, in case the manual methods don’t work, try out Stellar Repair for Access. The software is purpose-built to repair corrupt Access database files and resolve a variety of Access Database errors including Error Code 3112 ‘MSysAccessObjects’.