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’.
Was this article helpful?