Ciao Mich,
come hai detto tu funziona, l'unica cosa è che io avrei bisogno di recuperare l'ID della seconda categoria, così ho provato a modificare il codice in questa maniera:

codice:

<%
	'apro connessione e istanzio oggetti

	pid = Request.QueryString("id")
	strsql = "SELECT *FROM tab_sottocat WHERE id_cat = " &pid& " ORDER BY nome_sottocat ASC"
	set rs = conn.execute(strsql)
	primo = 0
	if not rs.eof then
		
%>
<select name="sottocat">
<%
	while not rs.eof
%>
<option value="<%=rs("ID_sottocat")%>"><%=rs("nome_sottocat")%></option>
<%
	rs.movenext
	wend
%>
</select>
<%
	end if

%>
Però ottengo un risultato strano che puoi vedere direttamente online qui:
www.assoluto.it/giugliano/cont_ins.asp

in pratica mi scrive tutto il codice della select su di un rigo solo, però mostrandomi i valori corretti, sia dell'ID che del nome categoria.

E' sbagliato ragionare comeho fatto io?
Come lo posso aggiustare?

Grazie mille