nCurrRec = RECNO(cMTable) .Refresh IF nCurrRec <> RECNO(cMTable) SET COVERAGE TO...which tells me that in the Refresh process, the record pointer moved, for some inexplicable reason.
LOCAL cMTable, cMKey, cMsg SET MULTILOCKS ON WITH THISFORM cMTable = .cMainTable cMKey = .cMainKey .MakeLists() ENDWITH IF NOT USED(cMTable) USE &cMTable IN 0 ENDIF SELECT (cMTable) IF NOT EMPTY(cMKey) SET ORDER TO (cMKey) ENDIF CURSORSETPROP('BUFFERING',2,cMTable)A point you made was: is this an intermitent or consistent problem? Well, it occurs every time. I zapped the table and started from scratch. The first record added fine. The second behaved exactly as I described previously - in the Add.Click method, the record pointer moved to the previous record during the .Refresh of the form (this Refresh is in the class, not the instantiated form).