MyStatus.MaxValue=RECCOUNT() SCAN IF eExpression DELETE ENDIF MyStatus.Value=MyStatus.Value+1 ENDSCAN OR SET FILTER TO eExpression COUNT TO MyStatus.MaxValue SCAN DELETE MyStatus.Value=MyStatus.Value+1 ENDSCANYou'll see that they look a little different (the bar movement as well as the code). I think the 2nd one is optimized under certain conditions, where the 1st isn't. Do you need any help with displaying the Status Bar as well are do you have that down. I'm just guessing at the MaxValue property name as well.