>LOCAL lnI >CREATE CURSOR crsTest (IDFld I, FName c(10)) >FOR lnI = 1 TO 10 > INSERT INTO crsTest (FName) VALUES ('Ken') > INSERT INTO crsTest (FName) VALUES ('David') > INSERT INTO crsTest (FName) VALUES ('Michael') > INSERT INTO crsTest (FName) VALUES ('Robert') >NEXT > >INDEX on fName TAG fName > >PRIVATE pnRec, pcName > >pnRec = -1 >pcName = crsTest.FName > >*!* replace IDFld WITH IIF(crsTest.FName == m.pcName, NVL(_VFP.SetVar('pnRec', m.pnRec+1),1), ; >*!* NVL(_VFP.SetVar('pcName', crsTest.FName),1) * NVL(_VFP.SetVar('pnRec', 0),1)) * (m.pnRec + 1) IN crsTest WHILE NOT EOF() > >replace IDFld with IIF(pcName = crsTest.fName, nvl(_VFP.SetVar('pnRec',m.pnRec+1), m.pnRec), ; >nvl(_VFP.SetVar('pcName',crsTest.fName),1) * nvl(_VFP.SetVar('pnRec',1), m.pnRec)) WHILE NOT EOF() >browseyay it works!!! you>all