Microsoft Access Union 2 or more similar queries Errors

I’m trying to UNION 2 similar queries using SQL in Microsoft Access but I am getting the error

This expression is typed incorrectly, or it is too complex to be evaluated. For example, a numeric expression may contain too many complicated elements. Try simplifying the expression by assigning parts of the expression to variables.

I have tested each query individually and they work but when I try to union them together I get the above error.

The queries are as follows:

SELECT 
  Bowls.(Product Code), 
  Bowls.(Product Name),

  (Bowls AP).Option1_Default AS (RT S),
  (Bowls AP).Option2_Default AS (RT B),

  (Bowls AP).Option1_Wholesale AS (WS S),
  (Bowls AP).Option2_Wholesale AS (WS B),

  (Gare Stock Count).(Invoice Cost) AS (US Price),

  ROUND( (((Gare Stock Count).(Invoice Cost)) / (Exchange Rate)) * (Costings), 2)  AS ($AUD LC),

  ROUND( ($AUD LC)*1.9*1.1, 2) AS (WS B +90%),

  ROUND( ($AUD LC)/(Gare Stock Count).(Box Size)*2.1*1.1, 2) AS (WS S +110%),

  ROUND( (WS B +90%)*1.25, 2) AS (RT B +135% or +125%),

  ROUND( (RT B +135% or +125%)/(Gare Stock Count).(Box Size), 2) AS (RT Sing),

  ROUND( (((Bowls AP).Option2_Wholesale/1.1)-($AUD LC))/($AUD LC), 2) AS Margin

FROM ((Gare Stock Count) 
  INNER JOIN Bowls ON (Gare Stock Count).(Product Code) = Bowls.(Product Code))
  INNER JOIN (Bowls AP) ON (Gare Stock Count).(Product Code) = (Bowls AP).(Product Code)
  WHERE (((Gare Stock Count).(Product Code)) LIKE 'G-*')

And

SELECT 
  (Boxes Containers).(Product Code), 
  (Boxes Containers).(Product Name),

  (Boxes Containers AP).Option1_Default AS (RT S),
  (Boxes Containers AP).Option2_Default AS (RT B),

  (Boxes Containers AP).Option1_Wholesale AS (WS S),
  (Boxes Containers AP).Option2_Wholesale AS (WS B),

  (Gare Stock Count).(Invoice Cost) AS (US Price),

  ROUND( (((Gare Stock Count).(Invoice Cost)) / (Exchange Rate)) * (Costings), 2)  AS ($AUD LC),

  ROUND( ($AUD LC)*1.9*1.1, 2) AS (WS B +90%),

  ROUND( ($AUD LC)/(Gare Stock Count).(Box Size)*2.1*1.1, 2) AS (WS S +110%),

  ROUND( (WS B +90%)*1.25, 2) AS (RT B +135% or +125%),

  ROUND( (RT B +135% or +125%)/(Gare Stock Count).(Box Size), 2) AS (RT Sing),

  ROUND( (((Boxes Containers AP).Option2_Wholesale/1.1)-($AUD LC))/($AUD LC), 2) AS Margin

FROM ((Gare Stock Count) 
  INNER JOIN (Boxes Containers) ON (Gare Stock Count).(Product Code) = (Boxes Containers).(Product Code))
  INNER JOIN (Boxes Containers AP) ON (Gare Stock Count).(Product Code) = (Boxes Containers AP).(Product Code)
  WHERE (((Gare Stock Count).(Product Code)) LIKE 'G-*')

As you can see both queries are very similar as the only difference is replacing Bowls with Boxes Containers.

Each of the previous queries works and produces the expected outputs but when i try to UNION them together Access doesn’t like it and gives the error.

The query with UNION

SELECT 
  Bowls.(Product Code), 
  Bowls.(Product Name),

  (Bowls AP).Option1_Default     AS (RT S),
  (Bowls AP).Option2_Default     AS (RT B),

  (Bowls AP).Option1_Wholesale   AS (WS S),
  (Bowls AP).Option2_Wholesale AS (WS B),

  (Gare Stock Count).(Invoice Cost) AS (US Price),

  ROUND( (((Gare Stock Count).(Invoice Cost)) / (Exchange Rate)) * (Costings), 2)  AS ($AUD LC),

  ROUND( ($AUD LC)*1.9*1.1, 2) AS (WS B +90%),

  ROUND( ($AUD LC)/(Gare Stock Count).(Box Size)*2.1*1.1, 2) AS (WS S +110%),

  ROUND( (WS B +90%)*1.35, 2) AS (RT B +135% or +125%),

  ROUND( (RT B +135% or +125%)/(Gare Stock Count).(Box Size), 2) AS (RT Sing),

  ROUND( (((Bowls AP).Option2_Wholesale/1.1)-($AUD LC))/($AUD LC), 2) AS Margin

FROM ((Gare Stock Count) 
  INNER JOIN Bowls ON (Gare Stock Count).(Product Code) = Bowls.(Product Code))
  INNER JOIN (Bowls AP) ON (Gare Stock Count).(Product Code) = (Bowls AP).(Product Code)
  WHERE (((Gare Stock Count).(Product Code)) LIKE 'G-*')

UNION

SELECT 
  (Boxes Containers).(Product Code), 
  (Boxes Containers).(Product Name),

  (Boxes Containers AP).Option1_Default  AS (RT S),
  (Boxes Containers AP).Option2_Default  AS (RT B),

  (Boxes Containers AP).Option1_Wholesale    AS (WS S),
  (Boxes Containers AP).Option2_Wholesale AS (WS B),

  (Gare Stock Count).(Invoice Cost) AS (US Price),

  ROUND( (((Gare Stock Count).(Invoice Cost)) / (Exchange Rate)) * (Costings), 2)  AS ($AUD LC),

  ROUND( ($AUD LC)*1.9*1.1, 2) AS (WS B +90%),

  ROUND( ($AUD LC)/(Gare Stock Count).(Box Size)*2.1*1.1, 2) AS (WS S +110%),

  ROUND( (WS B +90%)*1.35, 2) AS (RT B +135% or +125%),

  ROUND( (RT B +135% or +125%)/(Gare Stock Count).(Box Size), 2) AS (RT Sing),

  ROUND( (((Boxes Containers AP).Option2_Wholesale/1.1)-($AUD LC))/($AUD LC), 2) AS Margin

FROM ((Gare Stock Count) 
  INNER JOIN (Boxes Containers) ON (Gare Stock Count).(Product Code) = (Boxes Containers).(Product Code))
  INNER JOIN (Boxes Containers AP) ON (Gare Stock Count).(Product Code) = (Boxes Containers AP).(Product Code)
  WHERE (((Gare Stock Count).(Product Code)) LIKE 'G-*');

I should also note I would like to UNION more SELECTs to this query so a solution that only solves it for 2 SELECTs won’t be ideal.

I suspect that the problem might involve the calculations in the ROUND statements and repeating them multiple times but I’m not sure how I should go about changing them.

Any help would be greatly appreciated thanks.