I've left it as is... It is working very quickly. One of my main concerns was that I am dealing with upwards of 100,000 records at any given time and speed will be important.
Final Code:
*** CREATED BY ELENA BOUGHEY / WITH THE HELP OF TEK-TIPS GURUS
*** DATE: 08-20-2002
*** THIS PROGRAM EXPORTS THE DATA FILES ALONG WITH THE
*** ZIP CODES THAT HAVE BEEN ASSIGNED TO THE CLIENT FOR LASER PROCESSING
*** SETS DEFAULT TO NEWMOVER HOUSE DIRECTORY
SET DEFAULT TO N:\INKJET\NEWMOVER\HOUSE
*** SELECTS THE DATA FROM 2 FILES:
*** [NEWMOVER.DBF - INFOUSA NEW MOVERS FILE]
*** [EXPORT.DBF - DATABASE EXPORT FILE FROM ACCESS FOR JOBS]
*** ONLY OPEN STATUS JOBS [STATUS = 'O']
*** SEPARATES THE NEW MOVER DATA BY SHELL/JOBNO AND EXPORTS IT TO NEWMOVER_EXPORT.DBF
SET FILTER TO status = 'O'
SELECT DISTINCT Export.shell, Export.jobno, Newmover.zip, Newmover.first,;
Newmover.last, Newmover.address_1, Newmover.city, Newmover.state,;
Newmover.phone, Newmover.maildate, Newmover.list_no, Newmover.origin,;
Newmover.vendor, Newmover.dp2, Newmover.dpc, Newmover.crrt, Newmover.lot,;
Newmover.lot_ord, Newmover.company, Export.zip1, Export.zip2, Export.zip3,;
Export.zip4, Export.zip5, Export.zip6, Export.zip7, Export.zip8, Export.zip9,;
Export.zip10, Export.status;
FROM export INNER JOIN newmover ;
ON Export.zip1 = Newmover.zip;
OR Export.zip2 = Newmover.zip;
OR Export.zip3 = Newmover.zip;
OR Export.zip4 = Newmover.zip;
OR Export.zip5 = Newmover.zip;
OR Export.zip6 = Newmover.zip;
OR Export.zip7 = Newmover.zip;
OR Export.zip8 = Newmover.zip;
OR Export.zip9 = Newmover.zip;
ORDER BY Export.jobno, Newmover.address_1;
INTO TABLE newmover_export.dbf
REPLACE ALL LIST_NO WITH JOBNO
*** THIS SECTION CREATES AND COPIES THE DIRECTORIES AND FILES TO THE PROPER LOCATION
*** Note the ALLTRIM(NEWMOVER_EXPORT.JobFile)... any spaces in the field ended up before the ".DBF" before.
*** Note the MD command, it makes sure the directory is there if it wasn't before.
*** The COPY TO ... WHILE ... command leaves the current record as the record after the last one copied to the file, or at EOF().
lcprefix = "N:\INKJET\NEWMOVER\"
SET DEFAULT TO N:\INKJET\NEWMOVER\HOUSE
SET SAFETY OFF
CLOSE ALL
CLEAR
USE NEWMOVER_EXPORT
INDEX ON JOBNO TAG JobNo
lcOldJobNo = NEWMOVER_EXPORT.JobNo
GO TOP
DO WHILE NOT EOF('NEWMOVER_EXPORT') AND STATUS = 'O'
lcNewDir = lcPrefix+alltrim(SHELL)+"\";
+DTOS(MAILDATE)+"\"
lcNewFile = lcNewDir+ALLTRIM(NEWMOVER_EXPORT.JobNo)+".DBF"
IF NOT Directory(lcNewDir)
MD (lcNewDir)
ENDIF
COPY TO (lcNewFile) WHILE NEWMOVER_EXPORT.JobNo=lcOldJobNo
lcOldJobNo = NEWMOVER_EXPORT.JobNo
ENDDO
*** COMBINE RECORDS BY SHELL AND COPY DATA TO PRESORT.DBF FOR EACH SHELL
INDEX ON SHELL TAG Shell
lcOldShell = NEWMOVER_EXPORT.Shell
DO WHILE NOT EOF('NEWMOVER_EXPORT') AND STATUS = 'O'
lcNewDir = lcPrefix+alltrim(SHELL)+"\";
+DTOS(MAILDATE)+"\"
lcNewFile = lcNewDir+"PRESORT.DBF"
IF NOT Directory(lcNewDir)
MD (lcNewDir)
ENDIF
COPY TO (lcNewFile) WHILE NEWMOVER_EXPORT.Shell=lcOldShell
lcOldShell = NEWMOVER_EXPORT.Shell
ENDDO
SET SAFETY ON