Article ID: 169777
Article Last Modified on 1/19/2007
APPLIES TO
- Microsoft Access 2.0 Standard Edition
- Microsoft Access 95 Standard Edition
- Microsoft Access 97 Standard Edition
This article was previously published under Q169777
Moderate: Requires basic macro, coding, and interoperability skills.
SYMPTOMS
When you link (attach) a table from an ODBC data source, such as Microsoft
SQL Server or ORACLE, and that table contains more than one unique index,
Microsoft Access may select the wrong index as the primary key.
CAUSE
When you link a table from an ODBC data source, the Microsoft Jet database
engine makes a call to SQLStatistics, an ODBC API function used to identify
the first unique index to select as the primary key. SQLStatistics returns index information in the following order: Clustered, Hashed, Non-clustered or other indexes. In addition, each index is listed alphabetically within each group.
NOTE: All indexes created within ORACLE are treated as non-clustered
indexes. Therefore, the order of the index is determined by the name
rather than by type.
RESOLUTION
To ensure that the Jet database engine properly selects the desired index
as the primary key when linking the table from your ODBC back-end, you can
rename the index so that it appears first alphabetically.
NOTE: When using SQL Server version 6.x, this behavior only occurs if you
are using non-clustered unique indexes.
STATUS
This behavior is by design.
REFERENCES
ORACLE is manufactured by Oracle Corporation, a vendor independent of
Microsoft; we make no warranty, implied or otherwise, regarding this
product's performance or reliability.
Additional query words: indexes
Keywords: kb3rdparty kbprb KB169777