Once you get your indexes set correctly you might try:
select name as name, address as address, alltrim(city) + ' ' + alltrim(zip) as city;
from rchld;
where (rca = 'ATL' .or. rca = 'NAT');
.and. exp_date >= date();
.and. inlist(left(codes,1),'1','2','3');
into table temp;
order by name
Then
sele temp
scan
distribute the records to the correct tables.
endscan
A problem is a problem only as long as it has a possible solution. Lacking that, it becomes a FACT!