local x, nNext CLEAR CLOSE DATA CLOSE TABLES SET EXCLUSIVE OFF SET DELETED ON SET CURSOR OFF if NOT FILE("ShowBug.Dbc") CREATE Database SHOWBUG CREATE TABLE Test (MyID I, NextID I) APPEND BLANK REPLACE MyID WITH 1, NextID WITH 1 USE CREATE SQL VIEW VTest AS SELECT * FROM Test WHERE MyID=1 DBSetProp( "VTest.MyID" , "Field", "KeyField" , .T. ) DBSetProp( "VTest.MyID" , "Field", "Updatable" , .F. ) DBSetProp( "VTest.NextID" , "Field", "Updatable" , .T. ) DBSetProp( "VTest" , "View" , "SendUpdates", .T. ) DBSetProp( "VTest" , "View" , "WhereType" , 3 ) CLOSE DATA endif OPEN DATABASE ShowBug USE VTest SHARED @2,2 SAY "Assign:" @3,2 SAY "Source:" @4,2 SAY " View:" for x = 1 to 100 INKEY(.1) nNext = SqlNextID() if nNext < 0 =MessageBox("It's Dead!") EXIT else @2,10 SAY nNext endif next CLOSE DATA CLOSE TABLES SET CURSOR ON return ******************************************************************************************************************** Function SqlNextID( cAlias ) local oldarea, x x = 0 REQUERY() do while .T. nRet = NextID REPLACE NextID WITH NextID + 1 if TableUpdate( .T., .F. ) EXIT else if x > 100 TableRevert( .T. ) nRet = -1 EXIT endif @3,10 SAY Test.NextID @4,10 SAY VTest.NextID x = x + 1 TableRevert( .T. ) REQUERY() endif enddo return (nRet)Thanks again for hanging in there with me.