Stack Exchange
SQL Query not working using alias, but does work with indexing
SELECT        Product_ID, Product_Name, Purchase_Cost, Quantity_On_Hand, Purchase_Cost*Quantity_On_Hand AS Total_Item_Value
FROM            PRODUCT
ORDER BY 5 DESC

The above code works, but the below doesnt and returns this error.
SELECT        Product_ID, Product_Name, Purchase_Cost, Quantity_On_Hand, Purchase_Cost*Quantity_On_Hand AS Total_Item_Value
FROM            PRODUCT
ORDER BY Total_Item_Value DESC

Error: 


Does this answer your question? MS-Access -> SELECT AS + ORDER BY = error

MS Access basically does not allow reusing aliases anywhere in the query. You can either use the column number (as you did), repeat the expression, or use a subquery:
SELECT Product_ID, Product_Name, Purchase_Cost, Quantity_On_Hand, Purchase_Cost * Quantity_On_Hand AS Total_Item_Value
FROM   PRODUCT
ORDER BY Purchase_Cost * Quantity_On_Hand DESC

Or:
SELECT *
FROM (
    SELECT Product_ID, Product_Name, Purchase_Cost, Quantity_On_Hand, Purchase_Cost * Quantity_On_Hand AS Total_Item_Value
    FROM   PRODUCT
) x
ORDER BY Total_Item_Value DESC

