There are a couple of issues that might be relevant here.
Forms that you code directly using VBA can have multi-purpose fields within limits, but the stuff the wizards create just ain't that smart for anything except a good starting point. Code and controls created by the form's control wizards will generally be limited to single functionality.
If you have a bound form (i.e. the form has a ROWSOURCE) and your name that you want to be "sticky" is also bound (has a RECORDSOURCE), then this name can either be a selector (a method of choosing a record) or a result (something found in a record) but not usually both. Ask yourself whether what you are doing is trying to mix purposes. Post a little more about what you want this "sticky" name to do.
Off the top of my head, the EASIEST way to do this is to have the information in an unbound text box. You put it there by any of several ways, but since there is an element of volition involved I might use a button-click to copy the required data via some VBA code.
Two warnings.
First - if any untrapped error occurs (ON ERROR GOTO xxx), all data on the form "goes away" because the error handler trashes the program stack. And that is where the "local" variables are kept. Which means they go away.
Second - if the form is even partially bound, some controls are going to be reset when the form goes through its FORM_CURRENT event, even if you didn't build any VBA code for that event. So what you want cannot be both bound and persistent at the same time except by accident.