hmm, yes you do need to rethink the subform, although I suspect you need to show all that data because the user needs to see it to be able to make a decision. I presumed the subform recordsouce was a multi table source from your part number table for reference, quantity and a FK to link back to the product record, plus manufacturer and supplier tables and therefore not updateable. However I can see you can add new records, which makes me suspect your tables are not organised correctly.
However, assuming everthing in that area is OK then in principle to create your order, you need code to parse through the recordset and where a 'Select' is true, create an order
Something like this behind a 'create order' button
Code:
with me.subformname.form.recordset
.movefirst
while not .eof
if !Select then
currentdb.execute "INSERT INTO tblOrderLines (OrderFK, PartFK, SupplierFK.....) VALUES(" & me.OrderPK & ", " & !ParkPK & ...... & ")"
end if
.movenext
wend
end with
making use of conditional formatting you can work out some code which will highlight or disable those selections you do not want the user to make (i.e. where there is only one supplier) - use the dcount function, and if it returns 1, highlight or disable those records - and/or ignore the user selection.
That leaves those where the user has a choice, once they have made a selection, you want to disable the other choices, only reenabling them if the user deselects their choice.