Microsoft KB Archive/103176

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Knowledge Base


Article ID: 103176

Article Last Modified on 1/18/2007



APPLIES TO

  • 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


SYMPTOMS

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

CAUSE

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.

RESOLUTION

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.

STATUS

This behavior is by design.

REFERENCES

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