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).
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.
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.
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
Why does Runtime Error 3112 occur?
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:
end users don’t have the necessary permissions to view the tables and data.
table or data stored within the tables are damaged or corrupted.
How to Resolve MS Access
Database Error in MSysAccessObjects
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
Access built-in Compact & Repair Utility can be used by following these
case the MS Access database is open, close it.
to the Tool menu. Then, select the option “Database Utilities”, and choose the option “Compact & Repair
dialog box on the screen will appear showing “Database to Compact From.” Select
the particular database file and click the same.
a new dialog box screen will appear with the message “Compact Database Into.”
Here, enter the database file name, and click the same.
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
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:
to the database, and select the option “Objects”.
Then, move ahead to the option “Pages”,
and click “New” tab.
the dialog box that appears, select the particular Existing Web page, and click
on the same.
you are required to select the location for the given data access page.
Fix 3: Export the MS Access
Table to the ASCII File
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:
the MS Access table to the ASCII file
the given table along with the associated relationships from the MS Access
the MS Access table with the existing content
import the ASCII file to the newly-created table
What to do if none of these
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
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’.