How to Merge Data from Multiple Access Tables into a Word Document
Question details
The user wants to combine organization, contact, and grant data from separate Microsoft Access tables to generate Word mail merges or automated letters.

- Product
- Microsoft Word / Microsoft Access
- Device & OS
- not provided
- Scenario
- Creating automated letters or batch mailings using complex, relational data distributed across multiple database tables.
- Observed behavior
- The user needs a method to properly join related tables so the combined dataset can be imported and utilized seamlessly within a Word document without data duplication or mapping errors.
Ensure your Microsoft Access database tables are properly linked using foreign keys, and confirm exactly which fields you need to include in your final Word document.
Create an Access Query for Word Mail Merge
Combine the related tables in Access first using a query, then connect Word to this single query as your mail merge data source.
Word mail merge requires a flat data source, meaning all data must come from a single list or table. By joining your organization, contact, and grant tables into one Access query, you create the perfect data structure for Word.
Open Microsoft Access, go to the Create tab, and select Query Design. Add your organization, contact, and grant tables to the workspace.
Ensure the tables are linked by dragging the primary key from one table (e.g., Organization ID) to the corresponding foreign key in the related table. Select the specific fields you need for your letter from the grid below and save the query.
Open Microsoft Word, navigate to the Mailings tab, and click Start Mail Merge to select your document type (e.g., Letters).
Click Select Recipients, choose Use an Existing List, browse to your Access database file, and select the query you just created.
Use the Insert Merge Field button to place your data markers into the document. Finally, click Finish & Merge to generate the completed letters.

Use Word Bookmarks and Access Automation for a Single Letter
For generating a single, highly customized letter, assigning values directly to Word bookmarks via Access VBA is often simpler and cleaner than running a full mail merge.
Utilize Access Reports for One-to-Many Relationships
If an organization has multiple grants or projects, an Access Report handles the grouping much better than Word mail merge.
Easily Perform Mail Merges with WPS Office
WPS Writer offers a powerful and intuitive Mail Merge feature. By exporting your joined database query to a standard spreadsheet, you can quickly generate automated, customized letters using WPS Office.
- 1. Export Your Data: Export your final joined query from your database application into a standard Excel (.xlsx) or CSV file.
- 2. Open WPS Writer: Launch WPS Writer, create your letter template, and navigate to the References tab on the top ribbon.
- 3. Connect Data Source: Click on Mail Merge, select Open Data Source, and browse for the spreadsheet you exported in the first step.
- 4. Insert Merge Fields: Click Insert Merge Field to place the dynamic data markers precisely where you want the organization and contact details to appear.
- 5. Complete the Merge: Click Merge to New Document to review all your customized letters in a single file, or select Merge to Printer to print them immediately.

Frequently Asked Questions
Can I include Microsoft Access attachment fields directly in a Word mail merge?
No, standard Word mail merge does not natively support extracting and displaying Access attachment fields. You typically need to store file paths instead of attachments in your database, and use the INCLUDEPICTURE field in Word, or handle images via VBA automation.
Why is my mail merge generating duplicate letters for the same organization?
Word mail merge is designed for flat data (one record per document). If your Access query joins an organization to multiple grants, the query produces multiple rows for that organization. Word reads each row as a separate letter. To list multiple grants in one letter, consider using a grouped Access Report instead.
How do I ensure the contact list updates when the organization changes in an Access form?
If you are filtering data via an Access form before merging, you need to 'requery' the contact combo box. You can do this by adding a simple Macro Action (Requery) or VBA code (Me.ContactComboBox.Requery) to the 'After Update' event of the Organization field.




