From what I gather reading on the net you cant have a WHERE clause with an INSERT clause unless there is also a SELECT clause so that the WHERE check is done on the information from the SELECT clause and not say a row index in the table I want to insert the data into. If that makes sense?

I have just added an extra column in my table for an arbitrary auto number and then used the following:

query = "INSERT INTO [Assign Hardware] ([Employee ID],[Base Unit ID],[Monitor ID],[Keyboard ID],[Printer ID]) VALUES (" & eid & ",'" & bid & "','" & mid & "','" & kid & "','" & pid & "');"

If nothing else you pointed out the need for speech marks around the String variables. Thanks for having a look.