CLEAR SET MULTILOCKS ON CREATE CURSOR myCursor ( F1 I) && exclusive mode APPEND BLANK CURSORSETPROP("Buffering",4) replace f1 WITH 100 && ====== this is the variation SELECT myCursor ? "FIELD ON ",ALIAS()," IS ",F1,CURVAL("F1")," STATUS : ",GETFLDSTATE(-1) ? '******' USE DBF() IN 0 AGAIN ALIAS CLONE_CURSOR SELECT CLONE_CURSOR CURSORSETPROP("Buffering",1) ? "FIELD ON ",ALIAS()," IS ",F1 REPLACE F1 WITH F1+1 ? "FIELD ON ",ALIAS()," IS ",F1 &&,GETFLDSTATE(-1) ? "UPDATE IT IS OK ?" &&,TABLEUPDATE() ? "FIELD ON ",ALIAS()," IS ",F1 ," <<<<< attention here" &&,CURVAL("F1"),GETFLDSTATE(-1) USE ? '******' SELECT myCursor * next line show a bad CURVAL() * cause it is because with pessimistic locking, VFP member guess that CURVAL() cannot change, * but it is not true, it can change within the same session ! * for sync CURVAL() you can do 2 thing only: TABLEUPDATE() or TABLEREVERT() ? "FIELD ON ",ALIAS()," IS ",F1,CURVAL("F1")," <<<<< attention here" , GETFLDSTATE(-1) GO RECNO() && put GO RECNO() ? "now CURVAL() it is not refreshed, and i cannot found a way for refresh it" ? "FIELD ON ",ALIAS()," IS ",F1,CURVAL("F1")," <<<<< attention here" , GETFLDSTATE(-1) USE3. Why cannot VFP redefine internal code for CURVAL() and then: