Thanks for the details. But I need a little time to digest them and relate your explanation to my problem.My thoughts in the response you didn't like were not about relational structure (re: comments in your post #14 of this thread), but were instead about functional design. I suggested one way that might do it, and in fact you commented in post #5 that you were doing something similar anyway. But since you still had the problem then my thoughts might still be relevant.
You described an Access behavior that you didn't like, but that behavior is correct for Access. It occurs because the design of your app didn't take into account that an action would cause your desired record to "fall off the form" before you were ready for it to do so. My suggestion was for you to include a way to include one extra selection (filter?) criterion in order to allow you to keep that record "current" because it appeared that you were talking about retrofitting a form that DIDN'T keep that record current.
This is a design issue (I'll be kind and call it an oversight) that, to fix it, needed something to change, and I made a suggestion on how you might change it. You didn't like a Y/N field and that's OK. There are other ways to approach it. You might have a control to hold the record ID that you wanted to keep even though the other criteria would disqualify it. But on further examination, you have a serious logic issue here that might require an IIF or IF function in the SQL - and it WOULD be awkward or ugly.
If you want to retain record X even after its content has been edited in a way that would no longer match your basic WHERE clause, you need to make that WHERE clause have two distinct branches. It would not be enough to simply add a control to retain the record ID of what you wanted to keep and add a clause "... OR [RecordID]=[Forms]![some-form-name].[some-control-name] ...". You could still lose the record you wanted since other records might still match the other part of the WHERE clause with that simple OR structure. You need something like this (as VERY generic code that depends on which SQL you are actually using):
"SELECT .... FROM .... WHERE IF( control name <> 0, [RecordID]= control name, all other criteria )..."
Then when you are ready to release the desired record you have to take an affirmative action to reset the special control name to 0. This structure is what you want because you actually have a strict dichotomy of records you want to keep. EITHER you want one specific record or you want any record from a bunch of records.
I really appreciate your help and time.
Million thanks.