logo
search
Office Settings & Configuration

How to Prevent Microsoft Access Record Changes Until Save Is Clicked

Partner EditorPartner Editor Oct 7, 2026 870 views

Question details

The user wants to stop Microsoft Access forms from automatically saving changes, requiring instead that users explicitly confirm or click a Save button before updating the database.

How to Prevent Microsoft Access Forms from Saving Until You Click Save
Product
Microsoft Access
Device & OS
not provided
Scenario
Managing data entry forms where users might accidentally modify existing records or create new ones without realizing the database updates automatically.
Observed behavior
By default, Microsoft Access forms automatically save any changes made to a record as soon as the user navigates away from the record or closes the form.
Before you start

Before modifying form behaviors, identify whether your form is currently bound directly to a table (Bound Form) or operating independently (Unbound Form), as this determines the VBA approach required.

Solution 1Recommended

Use the Form_BeforeUpdate Event on a Bound Form

This is the most efficient method for bound forms, allowing you to intercept the automatic save action and prompt the user for confirmation before writing data to the table.

When using bound forms, Access triggers the BeforeUpdate event right before saving changes to the underlying table. By adding VBA code to this event, you can display a confirmation dialog. If the user declines, you can cancel the event and undo the changes.

1
Open Form Design View

Open your Microsoft Access database, right-click the form you want to modify in the Navigation Pane, and select 'Design View'.

2
Access Form Properties

Press F4 to open the Property Sheet. Ensure that 'Form' is selected in the Selection type dropdown at the top of the Property Sheet.

3
Add Event Procedure

Navigate to the 'Event' tab in the Property Sheet. Locate the 'Before Update' property, click the dropdown arrow, and select '[Event Procedure]'. Then click the ellipsis (...) button to open the VBA editor.

4
Insert Confirmation Code

In the VBA editor, write a MsgBox prompt to ask the user if they want to save changes. If the response is vbNo, set 'Cancel = True' and execute 'Me.Undo' to revert the fields to their original values.

Use the Form_BeforeUpdate Event on a Bound Form
Tracking Changes: You can further enhance this by checking the 'Me.Dirty' property to ensure the prompt only appears if the record was actually modified.
Free Microsoft Office alternative

Looking for a Lighter Way to Manage Data? Try WPS Office

While Microsoft Access is powerful for complex relational databases, managing simple data lists and form inputs is often easier in a robust spreadsheet program. WPS Office offers a free, lightweight, and highly compatible alternative to Microsoft Office for your daily document and data management needs.

  1. 1. Download the Installer: Visit the official WPS Office website and download the free installation package for your operating system.
  2. 2. Install WPS Office: Run the installer and follow the on-screen instructions. The installation is lightweight and completes in minutes.
  3. 3. Open Your Spreadsheets: Launch WPS Spreadsheets to seamlessly open, edit, and manage your existing Excel data lists and forms.
Free and lightweight Office suite with low system requirementsFully compatible with Microsoft Excel (.xlsx), Word, and PowerPoint formatsFamiliar tabbed user interface for seamless migration and quick learningBuilt-in PDF editing, conversion, and data extraction tools
microsoft office alternative - wps office

Frequently Asked Questions

Why does Microsoft Access automatically save records by default?

Access is designed as an interactive, real-time relational database management system. To maintain data integrity across multiple users in a networked environment, it commits changes to the database the moment a user moves to another record or closes a form.

Can I disable auto-save globally across the entire Access database?

No, there is no global setting in Microsoft Access to turn off automatic saving. The auto-save behavior must be intercepted and managed at the form level using VBA events or by utilizing unbound forms.

What is the difference between a bound and an unbound form?

A bound form is directly linked to an underlying table or query, meaning any changes made in the form fields are automatically updated in the database. An unbound form is not linked to any data source; developers must use VBA to manually load data into the fields and write it back to the database when desired.

What happens if a user closes the form instead of clicking my custom Save button?

If it is a bound form, Access will still attempt to save the record upon closing. To prevent this, your VBA code in the Form_BeforeUpdate or Form_Unload event must intercept the close action, check if changes are unsaved, and prompt the user accordingly.