Is the 4th field an editbox? And is it set to AllowTabs=.T., then your tabs will show in the editbox text, though, and CTRL+TAB is necessary for moving the focus on.
You explicitly say you stay in the control, wrong tab order would do that, you'd still move on to somewhere else, Tabstop .f. in other controls, too.
Like Mike I don't know what you mean with user code, it could mean you looked into your own code within that control. But is it a class? Did you look into class code, parent class code? Alos of the next control, which can reject getting focus in the WHEN event. And you can of course get stuck in a control by it either not allowing focus change in valid or lostfocus. If this is legacy code, the ErrorMessage event might be used instead of the Valid.
In such situations you don't see what happens, but what happens is not normal, it helps to look at what runs, as there is too much places to look into source code. Either single-stepping through code with the debugger or recording with COVERAGE. It's hard to decide where to start with the debugger it and the influence of the debugger window causing focus changes also doesn't help about such situations. So SET COVERAGE TO coverage.log and then see what happens, I bet you find the reason.
Bye, Olaf.
Olaf Doschke Software Engineering