Julie ---
Several issues here:
1) Get rid of ther SCATTER/GATHER thought process. Map controls directly to fields.
2) Optimistic row buffer the record. This may be done in the DataEnvironment or via CURSORSETPROP().
3) SHOW GETS = THISFORM.Refresh(). _CUROBJ=OBJNUM()= THISFORM.Control.SetFocus(). They need to be issue in this order: Refresh then SetFocus.
4) Rather then GATHER MEMVAR you'd issue TABLEUPDATE()
5) The code may more logically broken down in the Click() events of the individual controls rather than in a single code instance with a DO CASE.
6) To enabled or disable individual controls, use THISFORM.Control.Enabled=.T. or .F.
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05