El código ke tengo es este:
Código:
Me carga los datos desde la base de datos en el 1º select, lo ke no me hace es cargarmelos en el segundo despues de seleccionar en el 1º<form action="" name="form1">
<select name="select" class="normalform" onChange = "ComponerLista(document.forms.form1.select[selectedIndex].value);">
<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/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>
</select>
<SCRIPT LANGUAGE="Javascript">
<!--
function Tupla ( campo1, campo2 )
{
this.campo1 = campo1;
this.campo2 = campo2;
}
<%
'Vamos a crear nuestros arrays de productos desde ASP
'El primer if detecta un cambio en la categoría para
'crear un nuevo array en Javascript
db.open con
set rs=db.execute("SELECT * FROM Productos ORDER BY NomProducto")
cuenta=0
cat="basura"
do while not rs.EOF
if cat<>rs.Fields("NomVariedad") then
'cambio de categoria, empiezo a contar en 0
cuenta=0
cat=rs.Fields("NomVariedad")
'además tengo que crear un nuevo array para la categoría
%>
var opciones<%=cat%> = new Array();
<%
end if
%>
opciones<%=cat%>[<%=cuenta%>]=new Tupla("<%=rs.Fields("NomProducto")%>","<%=rs.Fields("EAN")%>");
<%
cuenta=cuenta+1
rs.MoveNext
Loop
%>
<%
'Limpiamos objetos
rs.Close()
rs=null
db.Close()
%>
var contador;
function ComponerLista (array)
{
// Compone la lista dependiente a partir
// del valor de la opcion escogida en la lista "padre"
BorrarLista();
array = eval("opciones" + array);
for (contador=0; contador<array.length; contador++)
{
// añade elementos nuestro combobox
var optionObj = new Option( array[contador].campo1, array[contador].campo2 );
form1.menu1.options[contador] = optionObj;
} // for
} // ComponerLista
function BorrarLista()
{
form1.menu1.length=0;
}
//Inicializamos
ComponerLista (1);
-->
</SCRIPT>
</p></form>
Muxas gracias
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í. 
