Brenda,
In the when you can;
Thisform.lastcontrol = THIS
Now thisform.LastCotnrol is an object reference to the last control, just be sure to;
Thisform.LastControl = .NULL.
in the form's destroy.
I handle the valid thing by calling the valid from my save code and responding to the return value, if the valid returns .T. then I setfocus to update the buffer and continue to save.