>>* code from 06/06/2002 Vlad Grynchyshyn >> local oObj, nIndex, i >> if type('thisform.activecontrol.name')='C' >> oObj = .activecontrol >>&& If it's a grid, we need to calculate the active control >> if upper(m.oObj.baseclass) == "GRID" >> nIndex = m.oObj.activecolumn >> for i=1 to m.oObj.columncount >> if m.oObj.columns(m.i).columnorder = m.nIndex >> nIndex = m.i >> exit >> endif >> endfor >> oObj = m.oObj.columns(nIndex) >> oObj = evaluate("m.oObj." + m.oObj.currentcontrol) >> endif >> >>&& Check if control has different value than its ControlSource >> if proper(m.oObj.baseclass)='Textbox' and not empty(m.oObj.controlsource) ; >> and !(m.oObj.value==evaluate(m.oObj.controlsource)) >> m.oObj.value = m.oObj.value && Updated:NN: 06/07/02 >> lReturn = m.oObj.valid() && This is enough to write changes into ControlSource >> if (vartype(m.lReturn)='N' and m.lReturn = 0) or m.lReturn = .f. >> return .f. >> endif >> endif >> endif