No me extraña que te lies, con todas las cosas distintas que hay... pero a mí esto me odia, cada día lo tengo mas claro xD
Poniendo:
Código:
switch(Case intra3.Fields("tipo_nombre").Value){
case "comics":
Response.Write("hola");
break;
default:
Response.Write("adios")
}
También tengo error
Tipo de error:
Error de compilación de Microsoft JScript (0x800A03EE)
Se esperaba ')'
/portal_joven/listado_destacados.asp, línea 37, columna 12
Linea 37: switch(Case intra3.Fields("tipo_nombre").Value){
Después he probado con esto:
Código:
switch(Case (intra3.Fields("tipo_nombre").Value)){
case "comics":
Response.Write("hola");
break;
default:
Response.Write("adios")
}
Y sigue habiendo error
Error en tiempo de ejecución de Microsoft JScript (0x800A138F)
'rstIntranet.Fields.id_destacado.value' es nulo o no es un objeto
/portal_joven/listado_destacados.asp, línea 34 Linea 34: vartabla="Select tipo_nombre from tipos where id_tipo=(select destacados_tipo from destacados where id_destacado='"+ rstIntranet.Fields["id_destacado"].value +"')";
Con un Response Write tal que así:
Response.Write(rstIntranet.Fields["id_destacado"].value)
El error me dice que: 'rstIntranet.Fields.id_destacado.value' es nulo o no es un objeto
Si pruebo con :
Código:
<!-- #INCLUDE file="ADOJAVAS.inc" -->
<%
cone=Server.CreateObject("ADODB.Connection");
cone.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="+Server.MapPath("portaljoven.mdb"));
rstIntranet=new ActiveXObject("ADODB.RecordSet");
intra2=new ActiveXObject("ADODB.RecordSet");
intra3=new ActiveXObject("ADODB.RecordSet");
sentencia="Select top 4 * from destacados order by id_destacado desc";
rstIntranet.Open(sentencia,cone,adOpenStatic,adCmdTable);
%>
<table border=0>
<%
while (!rstIntranet.eof){
%><tr>
<%
vartabla="Select tipo_nombre from tipos where id_tipo=(select destacados_tipo from destacados where id_destacado='"+ rstIntranet.Fields("id_destacado").value +"')";
Response.Write(rstIntranet.Fields("id_destacado"))
intra3.Open(vartabla,cone,adOpenStatic,adCmdTable);
switch(Case (intra3.Fields("tipo_nombre").Value)){
case "comics":
Response.Write("hola");
break;
default:
Response.Write("adios")
}
%>
</tr>
<%
rstIntranet.Movenext();
}
%>
</table>
<%rstIntranet.close();
cone.close();%>
</body>
</html>
Es decir, cambiando: vartabla="Select tipo_nombre from tipos where id_tipo=(select destacados_tipo from destacados where id_destacado='"+ rstIntranet.Fields("id_destacado").value +"')";
en vez de rstIntranet.Fields["id_destacado"].value el error varía:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.
/portal_joven/listado_destacados.asp, línea 36
Qué hago mal? Puede ser que la select esté mal hecha?
Por cierto lo de hacer la select así en vez de ir restandole 1 al máximo hasta llegar a 5 es una idea muy buena xD