>if !tableupdate(.F.,.F.) && when cannot update, check if reason is changes on server > local lnFieldIndex, lcFieldName > select MyAlias > for m.lnFieldIndex = 1 to FCOUNT() > m.lcFieldName = Field(m.lnFieldIndex) > if type(m.lcFieldName) == 'G' && skip general fields > if !(OldVal(m.lcFieldName) == CURVAL(m.lcFieldName)) > * Oops - something changed on the server by another user - prompt to overwrite > ... > if !llOverWrite && if user answered to do not overwrite > && update current value by changed value from server > replace (m.lcFieldName) with CURVAL(m.lcFieldName) > endif > endif > endif > ENDFOR > * WARNING - special checking for deleted records > if CURVAL('Deleted()') > * Oops - record already deleted by another user > * ask to recover it or keep deleted > ... > if llRecover && if user answered to recover record > && following 2 commands needed to assure correct update on server > delete > recall > else > && delete record in local buffer as well > delete > endif > endif > > if !tableupdate(.T.,.F.) > && error - cannot update at all > endif >endif >