logo
search
Data Import & Export

Fix Access Append or Update Query Changing Zero Records in Excel-linked Tables

Maira MehtabMaira Mehtab Sep 22, 2026 868 views

Question details

The user needs to add new records or update existing ones from an Excel-linked source into an Access table, but the query results in zero records being modified.

Product
Microsoft Access and Microsoft Excel
Device & OS
not provided
Scenario
Running an SQL INSERT INTO or UPDATE query to migrate or sync data between an Excel-linked source table and a primary Access table.
Observed behavior
The Access query executes without syntax errors but reports that zero rows were appended or updated.
Before you start

Ensure that the linked Excel spreadsheet is formatted correctly and that both the Access table and the Excel data share a column with unique identifiers (primary keys) before running SQL queries.

Solution 1Recommended

Use an INSERT INTO Query with NOT EXISTS to Append New Rows

Use this method to safely add only new records from the Excel source that do not already exist in the target Access table.

When attempting to append records, unique key violations can cause the entire query to fail or append zero records. By using the NOT EXISTS clause, you instruct Access to only insert rows where the unique identifier is not already present in the destination table.

1
Identify the unique key

Find a column with distinct values shared by both tables, such as a 'Work Step / Event Number' or 'ID'.

2
Draft the INSERT INTO statement

Switch your query to SQL View and write an INSERT INTO statement selecting fields from the source table.

3
Add the NOT EXISTS criteria

Append the following logic to your query: WHERE NOT EXISTS (SELECT * FROM [Destination Table] WHERE [Destination Table].[ID] = [Source Table].[ID]). For example: INSERT INTO [Task List] ([Event Number], Description) SELECT [Event Number], Title FROM [Workorder source] WHERE NOT EXISTS (SELECT * FROM [Task List] WHERE [Task List].[Event Number] = [Workorder source].[Event Number]);

Testing the Query: Run the query as a SELECT query first to preview the rows that will be appended before changing it to an Append (INSERT INTO) query.
Free Microsoft Office alternative

Manage Your Spreadsheet Data Seamlessly with WPS Office

While troubleshooting complex Microsoft Access SQL queries requires specific database tools, you can handle most of your data preparation, filtering, and reporting directly in spreadsheets. WPS Spreadsheet is a highly capable, free alternative to Microsoft Excel, offering robust data management and seamless compatibility.

  1. 1. Download WPS Office: Visit the official WPS Office website and download the free installation package.
  2. 2. Install the application: Run the installer and follow the on-screen prompts to set up WPS Office on your device.
  3. 3. Open your Excel data: Launch WPS Spreadsheet and open your .xlsx or .csv files to effortlessly clean and manage your data.
Fully compatible with Microsoft Excel (.xlsx, .xls, .csv) formats.Free and lightweight alternative to heavy Microsoft Office subscriptions.Advanced data filtering, sorting, and pivot tables for easy data preparation before importing.Familiar user interface ensuring a zero-learning-curve migration experience.
microsoft office alternative - wps office

Frequently Asked Questions

Why does my Access append query say it will append 0 rows?

This usually happens if there is a primary key violation (the records already exist), a data type mismatch between the Excel source and Access table, or if the criteria in your query prevent any rows from matching.

Should I update the primary key field in an Access update query?

No, you should never update the key field. Use the unique identifier to join the tables and only update the other descriptive columns.

How can I prevent duplicate records when appending data from Excel?

Use a NOT EXISTS clause in your SQL query to check the destination table before inserting, or ensure the destination table has a primary key defined so Access automatically blocks duplicate entries.