Kile,
The solution to this problem is really pretty easy when you see it. Valid determines if focus will ba allowed to elave or not through its return value. If the Valid says it is ok to leave then LostFocus decides where to go (setfocus).
The only gotcha there is is that you must know that LostFocus does an implicit SetFocus after your code runs to set focus to the next control in the tab order, whihc, of course, will over ride yours. When this happens it
looks like your SetFocus didn't work, but, in fact, it did. it is just that after focus went where you told it to go, the implicit one moved focus to where it wanted to go.
The solution is, if you SetFocus in a LostFocus you must also issue a NODEFAULT to prevent the implicit SetFocus from occuring.