Salve a tutti,

è una settimana che lavoro su questa query e non riesco a risolvere questo piccolo baco

ho una tabella strutture (che poi sono appartamenti) classica con: id, nome, desc, ecc...

e una tabella coi prezzi CostiXStruttureTable con: idstruttura, idperiodo, costo

la query che utilizzo per caricare gli appartamenti è:

codice:
Function Query_Strutture(Id, ordinamento)
Query_Strutture =
"SELECT "_ &"StruttureTable.Id, "_ 
&"StruttureTable.codice, "_ 
&"StruttureTable.affittovendita, "_ 
...... altri mille campi che non vi riporto)..... 
&"StruttureTable.titoloESP, "_ 
&"StruttureTable.descrizioneESP, "_ 
&"StruttureTable.Foto, "_ 
&"(SELECT MIN(costo) FROM CostiXStruttureTable WHERE CostiXStruttureTable.IdStruttura=StruttureTable.id) AS CostoMinStruttura "_ 
&"FROM StruttureTable "_ &"LEFT OUTER JOIN PrenotazioniTable ON PrenotazioniTable.idstruttura=StruttureTable.id "_ 
&"WHERE StruttureTable.Id>0 " ' solo per avere una where fissa' if Id<>0 then 
Query_Strutture = Query_Strutture & " AND StruttureTable.Id=" & Id 
if Ordinamento=1 then 
Query_Strutture = Query_Strutture & " ORDER BY 25" 
elseif Ordinamento=2 then 
Query_Strutture = Query_Strutture & " ORDER BY 25 DESC" 
else 
Query_Strutture = Query_Strutture & " 
ORDER BY lastminute=1, StruttureTable.codice" end if
End Function
ora la query non da errore, ma non ordina correttamente gli appartamenti per prezzo (crescente=1 o decrescente=2)

e se sostituisco 25 con CostoMinStruttura mi da errore sulla riga dove eseguo la funzione: Query_Strutture per eseguire la query

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 1.
/isolarossa.biz/strutture.asp, riga 113


come risolvere?