CLEAR CLOSE DATABASES all CREATE TABLE TestAutoRefresh (f1 I AUTOINC NEXTVAL (-5000) STEP (5), f2 I) USE cProc = "" STRTOFILE(cProc,"DoNothing.PRG") TEXT TO cProc NOSHOW PARAMETERS f2_Val INSERT into TestAutoRefresh (f2) values (m.f2_Val) RETURN GetAutoIncVal(0) ENDTEXT STRTOFILE(cProc,"DoInsert.PRG") LOCAL oConn as ADODB.Connection, oRS as ADODB.Recordset, oCom as ADODB.Command oConn=CREATEOBJECT("ADODB.Connection") oConn.Open("Provider=VFPOLEDB.1;Data Source="+SYS(5)+CURDIR()) oCom = CREATEOBJECT("Adodb.Command") oCom.ActiveConnection = oConn oRS = CREATEOBJECT("Adodb.Recordset") oRS.ActiveConnection = oConn oRS.CursorLocation= 3 && adUseClient oRS.LockType= 1 && adLockReadOnly LOCAL oCA as CursorAdapter oCA=CREATEOBJECT("CursorAdapter") oCA.Alias="test" oCA.DataSourceType="ADO" oCA.DataSource=oRS oCA.SelectCmd="select * from TestAutoRefresh" oCA.InsertCmdDataSourceType="ADO" oCA.InsertCmdDataSource=oCom oCA.InsertCmd="EXEC DoNothing()" oCA.InsertCmdRefreshCmd="EXEC DoInsert(?test.f2)" oCA.InsertCmdRefreshFieldList="f1" ?oCA.CursorFill() INSERT into test (f2) values (10) INSERT into test (f2) values (20) INSERT into test (f2) values (30) LIST ?oCA.CursorRefresh() LIST USEThanks,