** setup example ** add some checks to a register Create Cursor cuRegister (icheckno i, yamount Y, ddate d) Index On icheckno Tag icheckno Do While RecNo()<10000 Insert Into cuRegister (yamount, ddate) Values (Rand()*1234.43, Date()-Int(Rand()*23)) EndDo Replace icheckno With RecNo() All ** make some of them missing Delete For RecNo()%Int((Rand()*123+1))=0 FindMissing(25,815) *------------------ * FindMissing() *------------------ Function FindMissing(tnStart, tnEnd) Local lnAdd ** find the missing ones Create Cursor cuRange (icheckno i) lnAdd=tnStart Do While lnAdd<=tnEnd Insert Into cuRange Values (lnAdd) lnAdd = lnAdd + 1 EndDo Select icheckno ; from cuRange ; where icheckno Not In (Select icheckno From cuRegister) ; into Cursor cuMissing2 If RecCount()>0 Browse Last NoWait EndIf EndFunc