local lcDir, lnCnt close data all *lcDir='c:\fox\test1\test3' lcDir = 'c:\lvtest\' md (lcDir) set default to (lcDir) create table (lcDir)+'table1' free (id1 N(10), text1 C(10)) for lnCnt = 1 to 5 insert into table1 (id1, text1) values (lnCnt, chr(lnCnt+64)) endfor create database 'db1.dbc' create sql view "lv_table1" as select id1, text1 from table1 dbsetprop('lv_table1', 'View', 'UpdateType', 1) dbsetprop('lv_table1', 'View', 'WhereType', 3) dbsetprop('lv_table1', 'View', 'SendUpdates', .t.) DBSetProp('LV_TABLE1', 'View', 'Tables', 'table1') dbsetprop('lv_table1.id1', 'Field', 'KeyField', .t.) dbsetprop('lv_table1.id1', 'Field', 'Updatable', .t.) dbsetprop('lv_table1.id1', 'Field', 'UpdateName', 'table1.id1') dbsetprop('lv_table1.text1', 'Field', 'KeyField', .f.) dbsetprop('lv_table1.text1', 'Field', 'Updatable', .t.) dbsetprop('lv_table1.text1', 'Field', 'UpdateName', 'table1.text1') close data all select 0 use table1 browse last nowait select 0 use db1!lv_table1 browse last nowait delete ?tableupdate(1,.t.,'lv_table1') recall ?tableupdate(1,.t.,'lv_table1')Now if you click on the table1 browse window, you should see a duplicate record.