LOCAL loActiveControl, lnColumn, loColumn WITH This loActiveControl = IIF(TYPE([.oActiveForm.ActiveControl.Name]) = "C", .oActiveForm.ActiveControl, .NULL.) IF VARTYPE(loActiveControl) = "O" AND loActiveControl.BaseClass = [Grid] lnColumn = loActiveControl.ActiveColumn FOR EACH loColumn IN loActiveControl.Columns WITH loColumn IF .ColumnOrder <> lnColumn LOOP ENDIF RETURN IIF(NOT (.ReadOnly AND .Bound), EVAL( ([.] + .CurrentControl) ), loActiveControl) ENDWITH ENDFOR ELSE RETURN loActiveControl ENDIF ENDWITH