You would probably speed this up greatly if you copied, compacted and posted a zipped copy here. Normally, such changes are made with update queries but I have a notion that in your case it won't be possible. You likely would get feedback on your tables design if you care to have it. I'm willing to bet it's not right. The closest thing to your posted approach that I can think of at the moment is to create a recordset of the data (possibly a query where a table is related to another table of replacement requirements), loop over that but also in an inner loop, loop over the replacement requirements. Very inefficient, especially if you have a lot more to do than what you show. If your db has proprietary data consider using this on your db copy. NOTE - if your db is split, make sure you copy the back end tables, link to your front end copy and do any randomizing of records on the new copies.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.