Is this a case where the first and last names (and perhaps the middle name or initial) appear separately in the table? Also, that terminology is common to non-Access back end servers, so it would help to include that kind of information in the question.
If the name parts are already part of the table:
First, store the name parts separately. (And if it is a bound form with separate fields for the separate parts, you DO store those parts separately!)
Second, build a string function that takes the names and concatenates them "on the fly" by trimming them to remove spaces, checking for a middle name or initial to be present, and doing the reformatting as needed. If it is created as a public function, you can call it from a query, form, or report - any place it is needed.
Third, get your full name information from a query, not a table.
For the case where the name parts already are stored, including a full name in the same table is (sometimes) a subtle form of denormalization. Not one of the more onerous forms, but still technically so, depending on what is actually the prime key for that table. And it is CERTAINLY a duplication of data, since partial contents of the full name field would appear elsewhere in the same record.
OK, let's say you really want to store both name parts AND full name anyway. So let's address the direct "record has been edited" problem. Here's my take based on your comments in the problem description:
Using a trigger or stored procedure means you are letting the back-end do something for you rather than the front-end. But if the form is still open, so is the recordset that feeds it. Obviously, until the update, there is no data to "pull the trigger" so chronologically, the triggered update follows the form's update.
Most advanced back-end DB servers track the fact of a change by having some sort of internal sequence number on the records and they update it when they update the record. The back end recognizes the changed number and notifies the front end that the recordset no longer matches the records - they have later "generation" numbers (or whatever the DB is using for that kind of tracking.)
To avoid this, take the function I described earlier and update the full name field in a form BeforeUpdate event to do that concatenation in the front end BEFORE you save the record.