WITH ThisForm * Have to set up two differents sets of date variables, since * one set is DATE data type and the other set is STRING data type. .dFrom=.txtStartdate.Value && Used in report form. .dThru=.txtEndDate.Value && Used in report form. lcStartDate=DTOC(.txtStartdate.Value) lcStartDate=SUBSTR(lcStartDate,7,4) + ; LEFT(lcStartDate,2) + ; SUBSTR(lcStartDate,4,2) lcEndDate=DTOC(.txtEndDate.Value) lcEndDate=SUBSTR(lcEndDate,7,4) + ; LEFT(lcEndDate,2) + ; SUBSTR(lcEndDate,4,2) SELECT ; cs.custno, ; cs.customer, ; NVL(si1.QtyIn, 000000) As QtyIn, ; NVL(so1.QtyOut, 0000000) As QtyOut, ; NVL(si1.QtyIn, 0000000) - NVL(so1.QtyOut,0) As QtyDiff ; FROM ; customer cs ; LEFT JOIN ; (SELECT ; si.Cust, ; SUM(si.StandsIn) As QtyIn, ; 000000 As QtyOut ; FROM ; Customer cs ; INNER JOIN StandsIn si ; ON cs.custno = si.cust ; WHERE ; BETWEEN(DateIn, .dFrom, .dThru) ; GROUP BY 1 ) ; si1 ON si1.cust = cs.custno ; LEFT JOIN ; (SELECT ; so.Cust, ; SUM(so.SerialCnt) As QtyOut, ; 000000 As QtyIn ; FROM ; customer cs ; INNER JOIN Stands_Out so ; ON so.cust = cs.custno ; WHERE ; BETWEEN(date, lcStartDate, lcEndDate) ; GROUP BY 1 ); so1 ON so1.cust = cs.custno ; ORDER BY ; cs.custno ; INTO CURSOR final REPORT FORM Stands_Summary PREVIEW WAIT WINDOW NOWAIT "Exporting File to G:\STANDS_SUMMARY_" + DTOC(DATE()) + ".XLS" lcStringDate=DTOC(DATE()) lcMonth=LEFT(lcStringDate,2) lcDate=SUBSTR(lcStringDate, 4, 2) lcYear=SUBSTR(lcStringDate, 7, 4) lcMMDDYYYYDate=lcMonth + lcDate + lcYear COPY TO "G:\STANDS_SUMMARY_" + lcMMDDYYYYDate + ".XLS" TYPE XL5 SELECT FINAL USE lcMessageText="Stands Summary EXCEL file has been created on G:\" lcTitleBarText="Stands_Summary" + lcMMDDYYYYDate + ".XLS" MESSAGEBOX(lcMessageText, 0+64, lcTitleBarText) ENDWITH>Try
SELECT ; cs.CustNo, ; cs.Customer, ; NVL(QtyIn, 000000), ; NVL(QtyOut, 000000), ; NVL(QtyIn, 000000)-NVL(QtyOut, 000000) As QtyDiff ; FROM Customer cs ; LEFT JOIN (SELECT cust, SUM(StandsIn) FROM StandsIn AS QtyIn GROUP BY 1) si ON si.cust = cs.custno ; LEFT JOIN (SELECT cust, SUM(SerialCnt) FROM Stands_Out AS QtyOut GROUP BY 1) so ON so.cust = cs.custno ; ORDER BY ; cs.Customer