ACC: Error Message Running Macro with SQL Statements

ID: Q103176


The information in this article applies to:


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          : kbusage ScrtOthr 
Version           : 1.0 1.1 2.0 7.0 97
Platform          : WINDOWS 
Issue type        : kbprb 

Last Reviewed: March 26, 1999