create table myTable (F1 c(10), F2 i) index on F1 tag F1 index on F2 tag F2 close all use myTable in 0 alias t1 use myTable in 0 again alias t2 cursorsetprop('Buffering',5,'t1') for ix = 1 to 10 insert into t1 (F1, F2) values (chr(asc('A')-1+ix), ix) endfor =seek('A','t1','f1') ? recno('t1') lnRec = recno('t1') go lnRec in 't2' && Record is out of range go lnRec in 't1' && OK here ? seek('A','t2','f1') && .F. tableupdate(2,.t.,'t1') ? seek('A','t2','f1') && .T. go lnRec in 't2' && Record is out of range go lnRec in 't1' && Record is out of range * lnRec was negative before tableupdate() now it has : =seek('A','t1','f1') ? recno('t1')You can do seek w/o changing aliases or orders if you use :