You appear to have autonumbers in some tables which are not being used as the primary key. The ONLY purpose of an autonumber is to be used as the primary key. If you are using other fields as the single or compound PK, then get rid of the autonumbers before they cause a problem.
That said, you will find building an interface with Access forms, much easier if you use autonumbers as the PK for your tables, ESPECIALLY if you make use of combo and listboxes. Both of these controls REQUIRE a SINGLE unquiet identifier in order for them to work correctly.
If you have a multi-field unique index required to enforce uniqueness of a combination of data fields, that is fine but you will need to build the multi-column index using the Indexes dialog. Although you can build a multi-column PK using the table interface, you cannot create a multi-column unique index that way. Let the autonumber be your PK. Use it for ALL joins. Let the data fields be data and create a compound unique index as necessary to ensure that when you need to enforce uniqueness on a set of fields you can.
Given the way you are using the field, I'm going to assume that employee_id is a unique identifier assigned by a different application. In your access application, this is just a reference field. Taking just the first two tables, you CANNOT build a combo to use to select an employee_record from because there is no 1 column unique identifier in the employee table.
Please stop worrying about creating a macro. You have urgent design changes to make before you go any further with this application. You are just digging yourself a deeper hole if you persist in duplicating data by creating these append queries.
I see that you've marked this thread as "solved" but your problem is far from solved. If you would like help fixing the schema, please start a new thread and upload a copy of the database. If you have actual data in the tables, obfuscate anything sensitive but leave as much data as possible to help us work out how the data relates.