>SELECT myTable IF !BOF() > SKIP -1 > lcPrev = mytable.field ENDIF ENDIF SKIP && back to original IF !EOF() && in case you started at EOF() > SKIP IF !EOF() > lcNext = mytable.field ENDIF > SKIP -1 && back to original record * I suppose you meant to say lcCurrent instead of lcNext > * lcNext = mytable.field > < do stuff here using current record plus the stuff gathered from other > records > >>Obviously, I need code to check for the ends of the table, but I wanted to keep it simple for the example. Can I do that without the SCAN losing track of where it is?