LOCAL ln_step, ln_cou, ln_cou2, ln_count, p_pack, p_ven SET DELETE ON SELECT pack_slip, vendor, SUM(TOTAL) AS 'total' ; FROM (gcOld_Dir)+'recon3' ; GROUP BY vendor, pack_slip ; ORDER BY vendor, pack_slip ; INTO TABLE (gcOld_Dir)+'recon4' ln_cou = _TALLY SELECT * ; FROM (gcOld_Dir)+'recon3' ; ORDER BY vendor, pack_slip ; INTO TABLE (gcOld_Dir)+'recon5' ln_cou2 = _TALLY ln_count = (ln_cou * 2) + ln_cou2 oExcel = CREATEOBJECT("Excel.application") SELECT recon5 WITH oExcel *!* Add a new workbook .APPLICATION.workbooks.ADD *!* Make Excel visible .VISIBLE = .T. *!* Add records to workbook p_pack = '' p_ven = '' FOR ln_step = 1 TO ln_count IF recon5.pack_slip = p_pack AND recon5.vendor = p_ven .RANGE("A"+ALLTRIM(STR(ln_step))).VALUE = recon5.receipt_qt .RANGE("B"+ALLTRIM(STR(ln_step))).VALUE = recon5.DESCRIPTIO .RANGE("C"+ALLTRIM(STR(ln_step))).VALUE = recon5.receipt_co .RANGE("D"+ALLTRIM(STR(ln_step))).VALUE = recon5.TOTAL SKIP 1 IF recon5.pack_slip = p_pack AND recon5.vendor = p_ven LOOP ELSE ln_step = ln_step + 1 .RANGE("A"+ALLTRIM(STR(ln_step))).VALUE = 'Packing Slip Total' SELECT recon4 LOCATE FOR recon4.pack_slip = p_pack AND recon4.vendor = p_ven IF FOUND() AND !EOF() .RANGE("B"+ALLTRIM(STR(ln_step))).VALUE = recon4.TOTAL ENDIF SELECT recon5 LOOP ENDIF ELSE .RANGE("A"+ALLTRIM(STR(ln_step))).VALUE = recon5.vendor .RANGE("B"+ALLTRIM(STR(ln_step))).VALUE = recon5.pack_slip p_pack = recon5.pack_slip p_ven = recon5.vendor LOOP ENDIF ENDFOR ENDWITH