Article ID: 90100
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 Q90100
SYMPTOMS
When you edit an attached SQL Server table that does not have a unique index defined, Microsoft Access beeps and displays one of the following messages in the status bar.
In Microsoft Access 1.0 and 1.1 ------------------------------- Form is read only. In Microsoft Access 2.0, 7.0, and 97 ------------------------------------ This recordset is not updatable.
CAUSE
Microsoft Access requires that a unique index be defined for each table. Database tables from products such as ORACLE, Sybase, Ingres, and DB2 that are linked to Microsoft Access by using ODBC are read-only unless they have a unique index. Views and synonyms are also read-only without a unique index.
RESOLUTION
You can use Microsoft SQL Server to define a unique index for each table with the SQL command CREATE UNIQUE INDEX. The basic syntax for this command is:
CREATE UNIQUE INDEX <index_name> ON [[<database.>]<owner.>]<table_name.> (<column_name> [, <column_name>]...)
You can also run this command with a SQL pass-through query in Microsoft Access.
After you create the unique index for the table, relink the table in Microsoft Access to implement the change.
STATUS
This behavior is by design.
REFERENCES
For more information about updating remote ODBC tables in Microsoft Access, search the Help Index for "SQL databases," and then "Import or link SQL database tables or data from other ODBC data sources", or ask the Microsoft Access 97 Office Assistant.
Keywords: kbprb kbusage KB90100