Code:
Public Sub ProdGrpExport()
Dim dbPath As String
Dim fileFolder As String
Dim Rs1 As DAO.Recordset
Dim Rs2 As DAO.Recordset
Dim Rs3 As DAO.Recordset
Dim strRepID As String
Dim strRep As String
dbPath = Application.CurrentProject.Path
Set Rs1 = CurrentDb.OpenRecordset("SELECT tblSmGrd.SalesTerrSCust, tblTerr.TerrName FROM tblTerr RIGHT JOIN tblSmGrd ON tblTerr.TerrID = tblSmGrd.SalesTerrSCust GROUP BY tblSmGrd.SalesTerrSCust, tblTerr.TerrName HAVING (((tblSmGrd.SalesTerrSCust) Is Not Null And (tblSmGrd.SalesTerrSCust)<>' '));")
Do Until Rs1.EOF
strRepID = Rs1("SalesTerrSCust")
strRep = Rs1("TerrName")
Set Rs2 = CurrentDb.OpenRecordset("SELECT sum(tblSmGrd.Year) AS Yr, tblSmGrd.ProdGrp, tblSmGrd.ProdCat, sum(tblSmGrd.NWgtImperial) AS Vol, sum(tblSmGrd.GrossSalesUSD) AS GsUSD, sum(tblSmGrd.GrossSalesL) AS GsCAD, sum(tblSmGrd.NetSalesUSD) AS NsUSD, sum(tblSmGrd.NetSalesL) AS NsCAD, sum(tblSmGrd.COGSUSD) AS CgUSD, sum(tblSmGrd.COGSL) AS CgCAD, sum(tblSmGrd.MarginUSD) AS MgnUSD, sum(tblSmGrd.MarginL) AS MgnCAD FROM tblSmGrd WHERE (((tblSmGrd.SalesTerrSCust)= '" & SalesTerrScust & "')) GROUP BY tblSmGrd.Year, tblSmGrd.ProdGrp, tblSmGrd.ProdCat;", dbOpenDynaset)
DoCmd.RunSQL ("DELETE tblProdTot.* FROM tblProdTot;")
CurrentDb.Execute ("INSERT INTO tblProdTot ( ProdGrp, ProdCat, BuVol, BuGsUSD, BuGsCAD, BuNsUSD, BuNsCAD, BuCgUSD, BuCgCAD, BuMgnUSD, BuMgnCAD ) VALUES (Rs2.ProdGrp, Rs2.ProdCat, Rs2.Vol, Rs2.GsUSD, Rs2.GsCAD, Rs2.NsUSD, Rs2.NsCAD, Rs2.CgUSD, Rs2.CgCAD, Rs2.MgnUSD, Rs2.MgnCAD) FROM Rs2 WHERE Rs2.Yr=10;")
DoCmd.OpenReport "rptProdTot", acViewReport
DoCmd.OutputTo acOutputReport, "rptProdTot", acFormatPDF, dbPath & "\Exports\" & Year(Now) & Right("0" & Month(Now), 2) & Right("0" & Day(Now), 2) & "\" & strRep & ".pdf", , , , acExportQualityPrint
Rs1.MoveNext
Loop
End Sub