Others

Fix Access Linked SQL Table That Is Not Updateable

Aamir Naveed AkramAamir Naveed Akram Oct 21, 2026 868 views

Question details

The user is unable to edit data in a linked SQL Server table via Microsoft Access and receives a Recordset is not updateable error.

How to Fix an Access Linked SQL Table That Is Not Updateable
Product
Microsoft Access
Device & OS
not provided
Scenario
Attempting to update, edit, or add records in an Access datasheet or form that relies on a linked SQL Server table.
Observed behavior
Access blocks the user from editing the data, displaying The Recordset is not updateable, often occurring after upgrading ODBC drivers if the table lacks a primary key.
Before you start

Ensure you have the necessary database administrator permissions in SQL Server Management Studio (SSMS) to alter table designs and define primary keys.

Solution 1Recommended

Add a Primary Key and Relink the Table in Access

Define a primary key in the backend SQL Server table and recreate the table link in Access to restore data editing capabilities.

Microsoft Access requires a unique identifier (usually a Primary Key) for linked SQL Server tables to safely identify and update individual records. If a table lacks this key, Access treats it as read-only to prevent accidental data corruption.

1
Assign a Primary Key in SQL Server

Open SQL Server Management Studio (SSMS), locate your database, and right-click the problematic table. Select 'Design', right-click the field that uniquely identifies each record (such as an ID column), and choose 'Set Primary Key'. Save the table design.

2
Delete the Linked Table in Access

Open your Microsoft Access database. In the Navigation Pane, right-click the linked SQL Server table that you cannot update and select 'Delete'. This only removes the link, not the actual data in SQL Server.

3
Relink the Table

Navigate to the 'External Data' tab in Access, click 'New Data Source', select 'From Database', and then 'From SQL Server'. Follow the ODBC wizard to connect to your database and select the table you just modified.

4
Select the Unique Identifier

During the linking process, Access may prompt you to 'Select Unique Record Identifier'. Ensure you check the box next to the field you set as the Primary Key in SQL Server, then click 'OK'.

Add a Primary Key and Relink the Table in Access
Updateable Recordset Restored: Once the table is relinked with a designated primary key, you will be able to add, edit, and delete records normally in your Access datasheets and forms.
Free Microsoft Office alternative

Looking for a Free, Lightweight Office Suite?

While WPS Office does not replace Microsoft Access for relational database management, it offers a robust, free alternative for your daily document, spreadsheet, and presentation needs. Experience seamless compatibility with Microsoft Office formats in a familiar, user-friendly interface.

Fully compatible with Microsoft Excel (.xlsx), Word (.docx), and PowerPoint (.pptx) formats.Lightweight installation that runs smoothly on Windows, Mac, and Linux environments.Free to use with built-in, comprehensive PDF editing capabilities.Familiar user interface ensuring a seamless migration from Microsoft Office.
microsoft office alternative - wps office

Frequently Asked Questions

Why did upgrading my ODBC driver cause this linked table issue?

Older ODBC drivers might have handled tables without primary keys differently, sometimes displaying records as #Deleted rather than blocking edits completely. Newer drivers, like ODBC Driver 17, enforce stricter data integrity rules, requiring a valid primary key to allow recordset updates.

Can I update an Access linked table without a primary key?

Generally, no. Microsoft Access needs a primary key or a unique, non-null index in the linked SQL Server table to safely target specific records for updates without modifying unintended rows.

What if I do not have permission to modify the SQL Server table?

If you lack permissions to add a primary key in SQL Server, you can request your database administrator to create a unique view for your Access front-end. Alternatively, you can use a Data Definition query in Access to create a pseudo-index for the linked table, though altering the backend design is the most stable solution.

Why do my linked table records display as #Deleted?

This often occurs when using an older ODBC driver on a table without a primary key, or if the data was modified by another user while you were viewing it. Upgrading your ODBC driver and ensuring the table has a primary key typically resolves the #Deleted display error.