My problem is getting my tables to update correctly using the right sequence of code.
The screen is simple a textbox called txtTraining and two listboxes (lstPosition and lstSelectedPosition). The idea is if they want to add a new type of training they type the name into the textbox, select the positions and save the update, the listboxes are multiselect and work much like the ones in Access (you click one or more items in the left list (or select all) and they move to the right list).

Here is what I have done so far:
Step 1: Update the table (Training List) that holds the list of all training (the listboxes use this)
Step 2: Add the selected positions along with the text in txtTraining to the table that holds the data for positions and training (Training)
Step 3: Update the table that uses the previous table (Training) to update the training on a per employee basis- this is where Im stuck

This is only one part of the database and the tables have been set other than the few I have added (Employee and Employee History are from the view section for looking up employee data for example)

So here is the table structure:
* = Primary Key/s

Training List
* Training- text field

* Position- text field
* Training text field

Training History (table I need to populate)
* Employee ID- number field
* Training text field
Date Complete date field (entered later)

Job History
Employee Number number field
Position- text field
Current Position- Yes/ No field
Other fields used in other areas of program such as start date and finish date, supervisors, etc

So I want to use Job History to match the current position they hold to see if its in the list (lstSelectedPosition), if it is I want to add the Employee ID and the training (from the textbox on the form (txtTraining)) to the Training History table.

Any help or advice is appreciated (if anymore information is needed I'm happy to provide it), the first two work fine I'm just having trouble witht he last one because it links through so many tables.