You have more fields that won't be calculable. In Access, I don't believe you can use the name of a calculated field in the same query the field is being created. It seems like they'd create a way to allow you to use that for efficiency's sake, but I've never seen it done. EDIT - looks like it actually works! Holy cow, that will save me some code here and there. Query below changed back to use the easy way.
Code:
IW_VNDR_OFFR_SELECTN AS TV
IW_RETAIL_SALES_SUMRY AS TR
IW_TIME_SELECTION AS TT
IW_FACILITY_SELECTN AS TF
IW_DEAL_SELECTN AS TD
IW_OFFERING_SELECTN AS TW
Here's a cleanup of the SQLcode, with all the tables aliased. I don't know which table Currency_cd is on, so I marked it ZZ. and you can put the correct table alias from the list above in that spot of the SQL.
Code:
PARAMETERS PROD_NBR Text ( 255 );
SELECT
TW.PROD_NBR,
TW.OFFRNG_ENG_DESC,
TW.CORP_STAT_CD,
TW.PRM_VNDR_PART_NBR,
TW.DEALER_INTRO_DTE,
TV.QUOTE_COST,
"16%" AS [Section D],
(1-0.16)*TV.QUOTE_COST AS [Net Quote Cost],
IIf(ZZ.[CURRENCY_CD]="009","USD","CAD") AS [Currency],
Sum(TR.NET_QTY_SOLD) AS [Net POS Units],
[Net Quote Cost]*[Net POS Units]*0.045 AS [Earned Royalty],
TW.BUYER_NAM,
TT.FISCAL_WK_NBR,
TT.FISCAL_YR,
TW.FNLN_CAT_NAM,
TW.PROD_CLS,
TW.CTC_BRAND_CODE,
TW.PRM_VNDR_NBR
FROM
IW_VNDR_OFFR_SELECTN AS TV
INNER JOIN
( ( ( (IW_RETAIL_SALES_SUMRY AS TR
INNER JOIN
IW_TIME_SELECTION AS TT
ON TR.TIME_SELECTN_KEY = TT.TIME_SELECTN_KEY)
INNER JOIN IW_FACILITY_SELECTN AS TF
ON TR.FCLTY_SELECTN_KEY = TF.FCLTY_SELECTN_KEY)
INNER JOIN IW_DEAL_SELECTN AS TD
ON TR.DEAL_SELECTN_KEY = TD.DEAL_SELECTN_KEY)
INNER JOIN IW_OFFERING_SELECTN AS TW
ON TR.OFFRNG_SELECTN_KEY = TW.OFFRNG_SELECTN_KEY)
ON TV.OFFRNG_SELECTN_KEY = TW.OFFRNG_SELECTN_KEY
WHERE
( ((TW.OFFRNG_SELECTN_LVL)="SKU")
AND ((TF.FCLTY_SELECTN_LVL)="POS")
AND ((TT.TIME_PD_TYP)="WKSTD")
AND ((TD.DEAL_SELECTN_LVL)="TOTDL" OR (TD.DEAL_SELECTN_LVL)="TOTREGRTL"))
GROUP BY
TW.PROD_NBR,
TW.OFFRNG_ENG_DESC,
TW.CORP_STAT_CD,
TW.PRM_VNDR_PART_NBR,
TW.DEALER_INTRO_DTE,
TV.QUOTE_COST,
IIf([CURRENCY_CD]="009","USD","CAD"),
TW.BUYER_NAM,
TW.BUS_CATEGORY_NAM,
TT.FISCAL_WK_NBR,
TT.FISCAL_YR,
TW.FNLN_CAT_NAM,
TW.PROD_CLS,
TW.CTC_BRAND_CODE,
TW.PRM_VNDR_NBR
HAVING
(((TW.PROD_NBR)=[PROD_NBR])
AND ((TT.FISCAL_WK_NBR) Between 1 And 44)
AND ((TT.FISCAL_YR)=2013));
Open a fresh query in a test version of your database, put the query into SQL mode, and paste the above code into the query. Change the ZZ to the correct table alias. Then run it, and see what happens.
I'm assuming that it's working "coincidentally" when you run it for a single value. Not sure why, but yes, i'm sure that the fixed version will work, if I haven't mistyped something.
Once it's working, you should be able to switch back to design mode and see how the SQL query shows up in picture format.