Hi Gary
What I usually do is store the record number of the table in the outer scan, you can also use indexed fields and use the Scan While command in the inner scan:
select TableA
scan
lnRecord=recno('TableA')
lcKey=TableA.key
select TableB
seek lcKey
scan while TableB.key=lcKey
******
endscan
go lnRecord in TableA && Just in case something in the inner scan changes the record pointer
endscan
HTH
Kevin