Hi James, I'm an independent adviser and will try to help.
You have the right idea here, but the wrong methodology. You also are not using Access VBA. If you are using an Access front end, then your code won't work. If you are using a VB.Net front end, then you need to ask in a VB.Net forum.
For Access, I would use Code like:
Dim intPRID as Integer
Dim intCRID as Integer
Dim strSQL as String
Dim varItm As Variant
Dim ctl As Control
intPRID = CInt(Me.PtblProjectIDComboBox)
Set ctl = Me.lstMultiSelect
For Each varItm In ctl.ItemsSelected
strSQL = "INSERT INTO tablename (ProjectID, CompanyID) " & \_
"VALUES(" & intPRID & ", " & ctl.Selected(varItm) & ");"
CurrentDB.Execute strSQL
Next varItm
So this will loop through the select items in the list box and add a record for each Selected company.