ya me ha salido!!!

Al final he optado x las soluciones faciles, ke son las ke siempre van mejor, y me he dejado de complicaciones

(me he comido la cabeza demasiado y al final me ha salido a mí solo sin utilizar códigos complicados). El código es muy facil(mucho más de lo ke pensaba) aki os lo dejo x si algún día os surge el mismo problema ke a mí.
Código:
<form action="alino.asp" name="form1" method="post">
<select name="select" class="normalform" onChange = "javascript:form1.submit()">
<option>Especialidades</option>
<%
dim con,rs,sql,cuenta,cat
Set db = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
con="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/riojavina/data/bbddRiojavina.mdb")
db.open con
set rs=db.execute("Select distinct NomVariedad From Productos")
do while not rs.EOF
Response.Write "<option Value='" & rs.fields("NomVariedad") & "'>" & rs.fields("NomVariedad") & "</option>"
rs.MoveNext
Loop
rs.Close()
rs=null
db.Close()
%>
</select>
<p>
<select name="menu1" class="normalform" onChange="MM_jumpMenu('parent',this,1)">
<option selected>Productos </option>
<%
Set db = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
con="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/riojavina/data/bbddRiojavina.mdb")
db.open con
set rs=db.execute("Select distinct NomProducto From Productos where NomVariedad='" & request.Form("select") & "'")
do while not rs.EOF
Response.Write "<option Value='" & rs.fields("NomProducto") & "'>" & rs.fields("NomProducto") & "</option>"
rs.MoveNext
Loop
rs.Close()
rs=null
db.Close()
%></select>
</p></form>
Aki lo teneis, gracias a todos los ke se han preocupado.