Pero a ver hugorei, llamas a la BBDD cada vez que se selecciona una nueva opción del Select o lo cargas todo en la Página Web y luego trabajas sobre Javascript ?
Es que chico, das muy pocas explicaciones.
También podrías pegar el código que tienes, para ver de que forma lo haces, si es la correcta, si no lo es, si es complicado, si no lo es, si cuando haces un "onChange" recargas el siguiente "Select" vía ASP o mediante Javascript .... hay un montón de preguntas, y muy poca información.
Y en cuanto a la Onda, pues hombre... la verdad es que es muy facil entrar y decir...
ALGÚN EJEMPLO DE 3 COMBO DEPENDIENTES !!! sin dar ningún tipo de información. Aquí estamos para ayudar, no para crear. No te lo tomes a mal, pero es que hay cada uno suelto por ahí que es para alucinar ;)
No obstante, mírate esto. Esta hecho en Javascript (por lo que este no es su sitio) aunque te lo pongo para que tu veas como funciona, y luego, si quieres, lo "amoldes" para trabajar con ASP (que supongo será la finalidad)
Código PHP:
<FORM name="form1">
<table border="0" cellspacing="0" cellpadding="0">
<tr align="center">
<td nowrap height="11">
<select name="campo1" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>Selecciona Marca</option>
<option>Audi</option>
<option>Seat</option>
</select>
<select name="campo2" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value="" selected>----------------------</option>
</select>
<select name="campo3" size="1" onChange="redirect2(this.options.selectedIndex)">
<option value="" selected>----------------------</option>
</select>
<script>
<!--
var grupos=document.form1.campo1.options.length
var grupo=new Array(grupos)
for (i=0; i<grupos; i++)
grupo[i]=new Array()
grupo[0][0]=new Option("----------------------"," ");
grupo[1][0]=new Option("Seleciona Modelo"," ");
grupo[1][1]=new Option("A3","A3");
grupo[1][2]=new Option("A4","A4");
grupo[2][0]=new Option("Seleciona Modelo"," ");
grupo[2][1]=new Option("Leon","Leon");
grupo[2][2]=new Option("Ibiza","Ibiza");
var temp=document.form1.campo2
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<grupo[x].length;i++){
temp.options[i]=new Option(grupo[x][i].text,grupo[x][i].value)
}
temp.options[0].selected=true
redirect1(0)
}
var grupos2=document.form1.campo2.options.length
var grupo2=new Array(grupos)
for (i=0; i<grupos; i++) {
grupo2[i]=new Array(grupo[i].length)
for (j=0; j<grupo[i].length; j++) {
grupo2[i][j]=new Array() }}
grupo2[0][0][0]=new Option("----------------------"," ");
grupo2[1][0][0]=new Option("----------------------"," ");
grupo2[1][1][0]=new Option("Seleciona una Serie"," ");
grupo2[1][1][1]=new Option("TDi 130 CV","1");
grupo2[1][1][2]=new Option("AMBITTION TDi 110","2");
grupo2[1][2][0]=new Option("Seleciona una Serie"," ");
grupo2[1][2][1]=new Option("AVANT 1.9 TDi","3");
grupo2[1][2][2]=new Option("AVANT 1.9T QUATTRO","4");
grupo2[2][0][0]=new Option("----------------------"," ");
grupo2[2][1][0]=new Option("Seleciona una Serie"," ");
grupo2[2][1][1]=new Option("1.8 20vt","5");
grupo2[2][1][2]=new Option("1.9 TDi SPORT","6");
grupo2[2][2][0]=new Option("Seleciona una Serie"," ");
grupo2[2][2][1]=new Option("1.8 5 Puertas","7");
grupo2[2][2][2]=new Option("SDI ESTRELLA","8");
var temp1=document.form1.campo3
function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<grupo2[document.form1.campo1.options.selectedIndex][y].length;i++){
temp1.options[i]=new Option(grupo2[document.form1.campo1.options.selectedIndex][y][i].text,grupo2[document.form1.campo1.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}
function redirect2(z){
window.location="http://www.dominio.com?ID=" + temp1[z].value
}
//-->
</script>
</td>
</tr>
</table>
</FORM>
Un Saludo