Hola.
Paso directamente a ponerte el formulario ejemplo. Considero que la página que contendrá el formulario se llama "pagina.asp", que tienes creada y abierta una conexión a BD llamada "conex" y que hay un recordset creado y cerrado llamado rst:
<FORM name="datos" method="post" action="pagina.asp">
<SELECT name="marca" onchange="document.datos.submit();">
<%
senSQL="SELECT codigo_marca,nombre FROM TABLA_MARCAS"
rst.open senSQL, conex, adOpenForwardOnly, adLockOptimistic, adcmdtext
rst.movefirst
do while not rst.eof
if rst("codigo_marca")=request.form("marca") then
texto=rst("codigo_marca") & " selected"
else
texto=rst("codigo_marca")
end if
%>
<option value=<%=texto%>><%=rst("nombre")%></option>
<%
rst.movenext
loop
rst.close
%>
</SELECT>
<SELECT name="modelo">
<%
senSQL="SELECT codigo_modelo,nombre FROM TABLA_MODELOS WHERE codigo_marca=" & request.form("marca")
rst.open senSQL, conex, adOpenForwardOnly, adLockOptimistic, adcmdtext
rst.movefirst
do while not rst.eof
%>
<option value=<%=rst("codigo_modelo")%>><%=rst("nombre")%></option>
<%
rst.movenext
loop
rst.close