Select name from users into cursor cNames>Then you don't have the problem that the list from which you select a value is the same as the table where the data is written to.
* Combobox.valid() >SELECT USERS >IF NOT EMPTY( This.DisplayValue ) && Only if the display value is not empty searching is needed > If This.ListIndex = 0 && First look if the value already exists in the list > && If not, then replace the name with the new value > REPLACE Users.Name with This.DisplayValue > && Then requery the view with the list of names in it. (This is the view from the rowsource) > Requery('cNames') > && The last thing needed is to requery the combo itself. By doing this the list with names in the combo will be updated. > This.Requery() > ELSE > && If the value is in the list, we can simply look up the requested user. > SEEK This.DisplayValue > ENDIF >ENDIF >Sorry but I have got lots of solutions