murray83, in order to alleviate the brain hurt, you need to know something.
In a table, there IS no sequence. SQL (not only for Access) operates on data in no particular order because it is based on set theory. The idea is that each query is a monolithic operation, acting as though everything happened at once. You and I both know that of course that can't really happen - but the point is that it happens in a way that we can't tell the difference.
Table records are stored in the order that they are inserted or updated, even if there is a prime key. If you started from an empty table and did a bulk load, the records would appear in the order of insertion. But if the table gets updated, the order gets scrambled - particularly if a WHERE clause is in force.
The way to impose order on the dataset is to always go through queries with WHERE clauses to specifically select the desired record or records. This is why Uncle G says you need to use an index. A unique key will let you focus on a single record and update it. Or, if your record contains a unique date, or a combination of date and something else that when take together would make it unique, then you can have selective AND PRECISE updating.
As you point out, if you have to randomly update a record out of sequence when confirming it, if the query doesn't select the proper record you will confirm the wrong record. You are seeing that so you know it is true; you just might not have known why.
Your solution involves WHERE clauses that specify enough to make it clear WHICH record you want to update.