Microsoft KB Archive/106188

{|
 * width="100%"|

PRB: ListTables Method Returns Odd Names
'Article ID: Q106188

Creation Date: 02-NOV-1993

Revision Date: 19-SEP-1996' The information in this article applies to:


 * Microsoft Access versions 1.0 and 1.1

SYMPTOMS

When you use the ListTables method to list table or QueryDef names, you may see odd names that are not objects in the Database window. For example, the ListTables method may return a name similar to

Customer Mailing Labels0000 which is neither a table nor a QueryDef in your database. There may be an object with a similar name in the Database window, but no actual table or QueryDef with the same name. CAUSE

The odd name is the name of a hidden query that was created by running a report. Although the QueryDef cannot be seen in the Database window, it does exist and will be found by the ListTables method.

RESOLUTION

Hidden QueryDefs are retained in the database until the report is deleted and you compact the database.

MORE INFORMATION

This article assumes that you are familiar with Access Basic and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information on Access Basic, please refer to the "Introduction to Programming" manual.

Steps to Reproduce Behavior


 * 1) Create a new report and save it as Test1.
 * 2) Run the Test1 report at least once.
 * 3) Open a module and enter the following function:

'=============================================================     ' The following function ListMyTables can be run from the ' Immediate window by typing "?ListMyTables" (without the     ' quotation marks). It returns the Table/QueryDef name ' and TableType. '=============================================================        Function ListMyTables Dim MyDB As Database, MySnap As Snapshot Set MyDB = CurrentDB Set MySnap = MyDB.ListTables MySnap.MoveFirst Do Until MySnap.EOF Debug.Print MySnap.name & " " & MySnap.TableType MySnap.MoveNext Loop End Function

Run the function in the Immediate window by typing:

? ListMyTables Note that "test100005" is returned in the Immediate window. This is the name of the hidden QueryDef created by the Test1 report. If you delete the report, compact the database, and then run the function again, "test100005" will not be returned.

REFERENCES

Microsoft Access "Language Reference," version 1.0, pages 292-294
 * }

-

"THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED 'AS IS' WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY." '' ©1997 Microsoft Corporation. All rights reserved. Legal Notices.

''

Additional reference words: 1.00 1.10

KBCategory: kbprg

KBSubcategory: PgmOthr