In the test code you are using a name expression not a numeric expression. Following works
SELECT * from test ORDER BY 2+3-4
norder = "1"
SELECT * from test ORDER BY &norder
>From VFP 7 help:
>
>Each Order_Item must correspond to a column in the query results and can be one of the following:
>...
>A numeric expression indicating the location of the column in the result table.
>
>However, the following program causes error
>
>SQL: Column 'NORDER' is not found.
>
>How to use expressions in ORDER BY clause ?
>
>
>norder = 1
>CREATE CURSOR test ( test c(1) )
>SELECT * from test ORDER BY (norder)
>
--sb--