I still did not have my coffee this morning, but I would think that your DODEFAULT should not work right as you should give the parameters, in fact you can try:
LPARAMETERS nKeyCode, nShiftAltCtrl
IF NOT INLIST(nKeyCode, 9, 13, 15)
DODEFAULT(ASC(UPPER(CHR(nKeyCode))), nShiftAltCtrl)
thisform.setFilter
NODEFAULT
ENDIF
"The five senses obstruct or deform the apprehension of reality."
Jorge L. Borges?
"Premature optimization is the root of all evil in programming."
Donald Knuth, repeating C. A. R. Hoare
"To die for a religion is easier than to live it absolutely"
Jorge L. Borges