Fix MS Access Form Uneditable After Moving Combo Box to SQL Server
Question details
Users are experiencing a read-only state in an MS Access form after changing a combo box's record source to a SQL Server linked table.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Migrating a Microsoft Access database back-end or a combo box data source to a SQL Server environment.
- Observed behavior
- The Access form becomes locked and uneditable because the newly linked SQL Server record source is not considered updateable by the application.
Ensure you have administrative credentials for both your Microsoft Access database and the target SQL Server environment before attempting to change table permissions or structural designs.
Verify SQL Server Permissions and Primary Keys
Confirm that the linked table has a recognized primary key in Access and that your SQL Server user account has sufficient UPDATE privileges.
When MS Access connects to SQL Server, it requires a clear primary key to update records safely. Without it, or without the proper SQL user permissions, Access defaults the entire linked table—and any forms relying on it—to a read-only state.
Open Microsoft Access, navigate to the linked SQL Server table in the Navigation Pane, right-click it, and select 'Design View'. Look for the key icon next to the primary key field to ensure Access recognizes it.
Double-click the linked SQL Server table to open it in Datasheet View. Attempt to edit a field directly. If you cannot edit it here, the issue is at the table or database permission level.
Open SQL Server Management Studio (SSMS). Check the security mappings for your specific database login and ensure you have been granted UPDATE permissions or are part of the db_datawriter role for that table.
Go to the 'External Data' tab in Access, click 'Linked Table Manager', select your target table, and click 'OK' to refresh the connection and retrieve the latest schema and permissions.

Configure Combo Box Bound Column Properties
Properly bind your combo box columns so that Access correctly identifies and stores the primary key while displaying user-friendly descriptive values.
Enhance Your Productivity with a Free Office Alternative
While Microsoft Access handles highly complex database server connections, WPS Office provides an exceptional, lightweight suite for your everyday document, spreadsheet, and presentation needs. Enjoy a familiar interface and robust file compatibility without the steep learning curve or heavy resource usage.
- 1. Download the Installer: Navigate to the official WPS Office website and click the download button to get the free installation package.
- 2. Install the Software: Run the downloaded executable file and follow the straightforward on-screen instructions to set up the suite on your device.
- 3. Open Your Documents: Launch WPS Office and instantly open your existing Office files with perfect formatting preservation.

Frequently Asked Questions
Why does my MS Access form say 'Recordset is not updateable'?
This typically occurs when Access cannot safely identify a unique record to update. It usually means the linked SQL Server table lacks a defined primary key, or the current user lacks the necessary UPDATE permissions on the SQL backend.
How do I refresh a linked SQL Server table in Microsoft Access?
Go to the 'External Data' tab on the ribbon, click 'Linked Table Manager', select the checkbox next to your specific SQL Server table, and click 'OK' to refresh the connection and update the table schema.
Can different users have different edit permissions on the same Access form?
Yes. If the Access database is linked to SQL Server using Windows Authentication or individual SQL logins, the user-level permissions configured in SQL Server will dictate whether the form is editable or read-only for each specific person.
What should the Recordset Type be set to for an editable form?
Ensure the form's 'Recordset Type' property is set to 'Dynaset'. If it is accidentally set to 'Snapshot', the form data will remain strictly read-only regardless of your backend database permissions.




