How to Enter Data for Many-to-Many Relationships in Access
Question details
Users need a streamlined, user-friendly way to input data into a many-to-many relationship in Microsoft Access.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Setting up forms for data entry into a junction table that connects two primary tables (such as Cameras and Lenses) in a relational database.
- Observed behavior
- Requires a reliable method to enter and manage related records without the need for complex VBA code or macros.
Ensure you have already set up your two primary tables and a junction table with the correct primary and foreign key relationships in the Database Tools tab.
Use a Main Form and a Continuous Subform
The standard and most efficient solution is to build a main form for one primary table and a continuous subform for the junction table.
By binding a continuous subform to your junction table and embedding it inside the main form, Microsoft Access handles the relationship mapping automatically. This native approach ensures data integrity without requiring you to write any VBA scripts or macros.
Go to the Create tab and use the Form Wizard or Form Design to create a main form based on one of your primary tables (e.g., the Camera table).
Create a new form based on your junction table. In the Property Sheet, set the Default View to 'Continuous Forms' so it can display multiple related rows.
Drag the continuous subform onto your main form in Design View. Select the subform control, and in the Property Sheet under the Data tab, ensure 'Link Master Fields' and 'Link Child Fields' are correctly set to the corresponding primary and foreign keys.
Inside the subform, change the foreign key field for the second related table (e.g., the Lens ID) into a combo box. Set its Row Source to pull data from the second primary table so users can select related records easily from a dropdown.

Need a lightweight suite for everyday data management?
While Microsoft Access is a powerful tool for complex relational database management, much of everyday data tracking and list management can be handled efficiently with a spreadsheet. WPS Office provides a lightweight, highly compatible, and free alternative to Microsoft Office for your document, spreadsheet, and presentation needs.
- 1. Download the installer: Visit the official WPS Office website and click the free download button for your operating system.
- 2. Install the software: Run the downloaded setup file and follow the quick on-screen instructions to complete the installation.
- 3. Open and edit your files: Launch WPS Spreadsheet and open your existing .xlsx or .csv data files to begin working immediately.

Frequently Asked Questions
Do I need to write VBA code or macros to make the junction table form work?
No. When you correctly configure the 'Link Master Fields' and 'Link Child Fields' properties between your main form and the subform, Microsoft Access automatically supplies the linked key. No VBA or macros are required.
What is the purpose of the combo box in the continuous subform?
The combo box provides a user-friendly dropdown menu, allowing users to select a related record (like a Lens name) rather than manually memorizing and typing foreign ID numbers into the junction table.
Why use 'Continuous Forms' view for the subform?
A Continuous Forms view displays multiple records simultaneously in a list format. This is ideal for a junction table because a single main record (like one Camera) will typically be associated with many secondary records (like multiple Lenses).
Can I use either primary table for the main form?
Yes, you can base the main form on either of the two tables in the many-to-many relationship. For example, you can have a Camera main form with a Lens subform, or a Lens main form with a Camera subform, depending on your data entry workflow.




