How to Import Excel Data into Normalized Microsoft Access Tables
Question details
The user needs to import flat Excel data into a normalized Microsoft Access database consisting of separate order, detail, and material tables without writing extensive custom code.

- Product
- Microsoft Excel / Microsoft Access
- Device & OS
- not provided
- Scenario
- Transferring non-normalized flat file data from an Excel workbook into structured, relational database tables in Access.
- Observed behavior
- Direct inserts cause duplication, produce too many records, and trigger validation-rule violations because the flat Excel data is not formatted for relational database design.
Ensure your Excel flat file is cleaned, free of blank rows, and has consistent column headers before attempting the import process.
Use a Staging Table and Sequential APPEND Queries
Import the raw Excel data into a temporary Access staging table, then use sequential APPEND queries to safely distribute records to normalized tables.
This approach prevents validation errors by filtering duplicates and matching business keys step-by-step, eliminating the need for complex VBA code.
Open Microsoft Access, navigate to the External Data tab, click New Data Source > From File > Excel. Import your workbook into a new temporary staging table (e.g., OORLatestUpload).
Create an APPEND query to select unique, new records from the staging table and insert them into your primary parent table (e.g., tblOrdersMain).
Create subsequent APPEND queries for child tables (e.g., tblOrderDetails and tblMaterials). Join the staging table to existing tables on appropriate business keys (like OrderLine or Material ID) to prevent inserting duplicates.
Run these saved APPEND queries in the correct hierarchical sequence, starting with the parent tables and followed by the child tables, whenever new data must be imported.

Clean and Prepare Your Spreadsheet Data Easily with WPS Office
While Microsoft Access handles database normalization, you can effectively clean, organize, and manage your flat file data using WPS Spreadsheet before importing. WPS Office is a lightweight, fully compatible, and free alternative to Microsoft Office.
- 1. Open your flat file: Launch WPS Spreadsheet and open your raw data file.
- 2. Clean the data: Navigate to the Data tab and use the Remove Duplicates tool to ensure only unique records remain.
- 3. Save for import: Save the optimized file in a standard .xlsx or .csv format, ready to be imported into your Access staging table.

Frequently Asked Questions
Why do I get validation-rule violations when importing Excel directly to Access?
Flat Excel files often contain redundant data. Directly importing them into relational child tables without normalizing causes primary key conflicts, duplicate entries, and validation errors.
What is an APPEND query in Microsoft Access?
An APPEND query is a type of action query that selects specific records from one or more data sources (like your staging table) and safely adds them to an existing destination table.
How can I prevent duplicate records during the import process?
When designing your APPEND queries, join your staging table to the destination table using the appropriate business keys, and apply criteria to filter out records that already exist in the destination table.
Do I need to write VBA code to normalize Excel data in Access?
No, you can achieve this without custom VBA code by importing the data into a temporary staging table and using built-in sequential APPEND queries to distribute the data hierarchically.




