&& Form.Keypress LPARAMETERS nkeycode,nshiftaltctrl local ac, cs do case case (nShiftAltCtrl == 0) do case case inlist(nKeyCode, 22) &&Ins ac = thisform.GetActiveControl() do case case !isNull(ac) do case case ac.BaseClass == 'Textbox' && and assuming it's in a grid cs = ac.ControlSource do case case upper(cs) == 'Table1.CustID' NODEFAULT append blank in (ac.Parent.Parent.RecordSource) =ac.Parent.Parent.Refresh() endcase endcase endcase endcase endcase
&& form.GetActiveControl lparameters DoNotGoDownIfGrid local _ActiveControl, _ActiveColumn, i, x if( type('thisform.ActiveControl') == T_UNDEFINED ) return .Null. else _ActiveControl = thisform.ActiveControl endif if( !(type('_ActiveControl') == T_OBJECT ) ) suspend endif if( !DoNotGoDownIfGrid and (Proper(_ActiveControl.BaseClass) == 'Grid') ) _ActiveColumn = _ActiveControl.ActiveColumn if( !empty(_ActiveColumn) ) for i = 1 to _ActiveControl.ColumnCount x = _ActiveControl.Columns[i] if( x.ColumnOrder == _ActiveColumn ) exit endif endfor for i = 1 to x.ControlCount if ( x.Controls[i].Name == x.CurrentControl ) _ActiveControl = x.Controls[i] exit endif endfor endif endif return _ActiveControl