Create Cursor abcd (abc C(10)) insert into abcd values('xyz') insert into abcd values('xyz1') cursorsetprop("buffering",5) insert into abcd values('xyz2') insert into abcd values('xyz3') replace abc WITH 'xyz4' FOR abc='xyz1' select 0 select * from abcd with (buffering = .t.) WHERE !EMPTY(CHRTRAN(GETFLDSTATE(-1),"1","")) ?"with chrtran :" +Transform(_tally) select * from abcd with (buffering = .t.) WHERE RECNO()<0 ?"From buffer New records :" +Transform(_tally) returns with chrtran :0 ?? should be 3 ? From buffer New records:2 also I tried with this close all Create Cursor abcd (abc C(10)) insert into abcd values('xyz') insert into abcd values('xyz1') cursorsetprop("buffering",5) insert into abcd values('xyz2') insert into abcd values('xyz3') replace abc WITH 'xyz4' FOR abc='xyz1' select 0 select * from abcd with (buffering = .t.) WHERE !EMPTY(CHRTRAN(GETFLDSTATE(-1,"abcd"),"1","")) ?"with chrtran :" +Transform(_tally) select * from abcd with (buffering = .t.) WHERE RECNO()<0 ?"From buffer :" +Transform(_tally) RETURNS with chrtran :4 ?? should be 3 ? From buffer New records:2 Also consider this ? close all Create Cursor abcd (abc C(10)) cursorsetprop("buffering",5) insert into abcd values('xyz') insert into abcd values('xyz1') tableupdate(2,.t.,"abcd") insert into abcd values('xyz2') insert into abcd values('xyz3') replace abc WITH 'xyz4' FOR abc='xyz1' tablerevert(.t.,"abcd") select 0 select * from abcd with (buffering = .t.) WHERE !EMPTY(CHRTRAN(GETFLDSTATE(-1,"abcd"),"1","")) ?"with chrtran :" +Transform(_tally) select * from abcd with (buffering = .t.) WHERE RECNO()<0 ?"From buffer :" +Transform(_tally) Returns with chrtran :2 ?? should be 0 ? From buffer New records:0Any more Ideas ?