Microsoft KB Archive/103176

From BetaArchive Wiki
Knowledge Base

Article ID: 103176

Article Last Modified on 1/18/2007


  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 95 Standard Edition
  • Microsoft Access 97 Standard Edition

This article was previously published under Q103176


Advanced: Requires expert coding, interoperability, and multiuser skills.

When you run an action query SQL statement, either in a RunSQL macro statement or as the RowSource property for a control in a secured database, you may receive the following error message:

In Microsoft Access 7.0 and 97:

RunTime Error'3112': Record(s) can't be read; No Read Data permission on 'TableName'

In Microsoft Access versions 1.x and 2.0:

Permissions denied


SQL statements used in a RunSQL macro or as the RowSource property for a control are not real objects; instead, they are compiled and built when they are run. Because they are not real objects in the Database window, they do not have an owner, and the Run With Owners Permissions property is ignored when they are run. If you do not have permissions for the underlying table, you will receive the error message mentioned in the "Symptoms" section.


Set the RowSource property to an intermediate query object that was created by the owner of the secured table. The query object should have the Run With Owner's Permissions property set.


This behavior is by design.


For more information about the RunPermission Property, search the Help Index for "RunPermission Property," or ask the Microsoft Access 97 Office Assistant.

Keywords: kbprb kbusage KB103176