Per quell'errore prova a fare così (in rosso le modifiche)
Set rst = Server.CreateObject("ADODB.Recordset")
rst.Open strSQL, con, adOpenDynamic , _
adLockOptimistic , adCmdText
per la seconda select la vai a riempire in base al valore del queryString val
ti riscrivo il tuo codice con qualche modifica. (le cose in rosso prima di tutto e poi sposto anche qualche elemento)
codice:
<%
If Request.QueryString("val") = "pren_stru" Then
slq_mostra_cli = Con.Execute("SELECT * FROM Clienti WHERE Societa <> ' ' ORDER BY Societa ASC")
ElseIf Request.QueryString("val") = "ass_domi" Then
sql_mostra_cli = Con.Execute("select ....")
End If
Dim MostraClienti
Set MostraClienti =slq_mostra_cli
While MostraClienti.EOF = False
%>
<option value="<%=MostraClienti("Societa")%>"><%=MostraClienti("Societa")%></option>
<%
MostraClienti.MoveNext
Wend
%>
tutto chiaro?