When openning a corrupted database in MS Access, you see the following error:

Record(s) cannot be read; no read permission on ‘xxxx’ (Error 3112)

where ‘xxxx’ is an Access object name, it can be either a system object, or a user object.

The screenshot of the error message looks like this:

Screenshot of error "Record(s) cannot be read; no read permission on 'xxxx' (Error 3112)"

Record(s) cannot be read; no read permission on ‘MSysAccessObjects’

This is a trappable Microsoft Jet and DAO error and the error code is 3112.

Precise Explanation:

You will encounter this error if you don’t have read permission on the specified table or query to view its data. You need to contact the DBA or the object owner to modify your permission assignments.

However, if you are sure you have permission on the object, but still get this error, then it is very likely that the object information and property data are partially corrupted and Microsoft Access thinks you have no read permission on the specific object mistakenly.

You can try our product DataNumen Access Repair to recover the MDB database and solve this problem.

Sample File:

Sample corrupt MDB file that will cause the error. mydb_4.mdb

The file salvaged by DataNumen Access Repair: mydb_4_fixed.mdb (The ‘Recovered_Table2’ table in the salvaged file corresponding to the ‘Staff’ table in the undamaged file)