Già
vedi qua:
codice:
 Prodotto Finito:
<select id="prodfin" size="1" style="font-family:tahoma; font-size:11px; margin-right:3px" name="prodfin">
<%
set RSProdfin = Server.CreateObject("ADODB.RECORDSET")
RSProdfin.ActiveConnection=Objconn
RSProdfin.Open("Select * from T_TipologiaProdotti where semilavorato=0")
while not RSProdfin.EOF
    Response.Write "<option value=""" & trim(RSProdfin(0)) & """"
    if (Codice = RSProdfin(2)) then
        Response.Write " selected=""selected"""
    end if
    Response.Write ">" & RSProdfin(2) & "</option>" & vbcrlf
    RSProdfin.movenext
wend
RSProdfin.close
set RSProdfin=nothing
%>
</select>
Il problema &egrave; che tu hai 'in mano' la variabile 'Codice', il cui contenuto &egrave; uno dei valori di RSProdfin(2), ma per scrivvere una option completa ti serve anche l'RSProdfin(0) relativo.
Con il codice di cui sopra la select viene riempita e, quando il while incontra RSProdfin(2) uguale a Codice, ci mette un bel selected="selected"

Dovrebbe andare.
P.S: il javascript, poverino, non c'entra, stavolta c'entra l'asp!

HTH
Zappa