facciamo un esempio con due select (select1, select2) ed un pulsante di submit vicino la prima select, tutto in un form che con il POST punta su se stesso.

<%
Recordset1.Source = "select * from tabella"
apri recordset1
%>
2. prima recordset2 metti istruzioni che non ti mandino in errore il recordset2
<%
valorescelto = "0"
if not request.form("select1") = "" then valorescelto = request.form("select1")
Recordset2.Source= "select * from tabella2 where idtabella1 =" & valorescelto
apri recordset2
%>
3.
<select name="select1" Id="select1">
<option value="0">--Scegli--</option>
<% while not recordset1.eof%>
<option value="<%=Recordset1("Id")%>"><%=Recordset1("campo")%></option>
<%
recodset1.movenext()
Wend
%>
</select>
<input type="submit" Id="seleziona">
<select name="select2" Id="select2">
<option value="0">--Scegli--</option>
<%
if not Recordset2.eof then
while not recordset2.eof%>
<option value="<%=Recordset2("Id")%>"><%=Recordset2("campo")%></option>
<%
recodset2.movenext()
Wend
end if
%>
</select>
<%
recordset1.close
recorset2.close
recordset1=Nothing
recordset2=Nothing
%>

La logica è questa....