Hola Shilfild de nuevo,
Si me permites voy a reconstruir todo tu codigo para poder entender que te está pasando. Voy a ir comentandolo y, asi, si me equivoco en algo puedes hacer luego referencia a ello.
Código:
<%@ language="JScript" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<!-- Hay que cambiar esto por el diseño de la propia página -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../Intranet/web/intranet.css" rel="stylesheet" type="text/css">
<link href="../Intranet/web/scroll.css" rel="stylesheet" type="text/css">
</head>
<body>
<!-- #INCLUDE file="ADOJAVAS.inc" -->
<%
// *************************
// Realizamos las conexiones a la BD
// *************************
var cone=Server.CreateObject("ADODB.Connection");
cone.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="+Server.MapPath("portaljoven.mdb"));
// **********************************
// Creamos instancias de los objetos Recordset
// que vamos a utilizar en la página.
// **********************************
var rstIntranet=server.CreateObject("ADODB.RecordSet");
var rstBusqueda = Server.CreateObject("ADODB.RecordSet");
// **********************************
// Cadena con la sentencia SQL: Queremos los
// 4 ultimos registros de la tabla destacados
// **********************************
var sentencia="Select top 4 id_destacado from destacados order by id_destacado desc";
// **********************************
// Cargamos el primer recordset para la
// sentencia SQL
// **********************************
rstIntranet.Open(sentencia,cone,adOpenStatic,adCmdTable);
%>
<table border=0>
<%
// ******************************
// * Bucle de resultados (TOP 4 DESC) *
// ******************************
while (!rstIntranet.eof){
%>
<tr>
<%
// ***********************************
// * Realizamos otra busqueda en base a los *
// * resultados del primer recordset. Queremos *
// * los nombres de tipos de los registros *
// * seleccionados en el primer recordset *
// * NOTA: siempre y cuando el campo no esté *
// * vacio *
// ***********************************
if (rstIntranet.Fields(0).value!="") {
sentencia = "SELECT t.tipo_nombre
FROM tipos t INNER JOIN destacados d ON t.id_tipo = d.destacados_tipo WHERE d.id_destacado="+rstIntranet.Fields(0).value
// ************************
// Cargamos el segundo recordset
// ************************
rstBusqueda.Open(sentencia,cone,adOpenStatic,adCmdTable);
// ************************
// Comprobamos el resultado de
// la segunda busqueda
// ************************
if(!rstBusqueda.EOF) {
// ***************************
// Si el valor del campo es 'comics'
// visualizamos una cosa. En caso
// contrario, vemos lo que nos
// trae.
// ***************************
switch(rstBusqueda.Fields(0).value) {
case "comics":
Response.Write("Destacado ID: " + rstIntranet.Fields(0).value + " es comics");
break;
default:
Response.Write("Destacado ID: " + rstIntranet.Fields(0).value + " es " + rstBusqueda.Fields(0).value);
}
} // f(!rstBusqueda.EOF)
// ******************
// cerramos la busqueda
// pero no desconectamos
// para poder seguir
// buscando
// ******************
rstBusqueda.close();
} // if (rstIntranet.Fields(0).value!="")
%>
</tr>
<%
// ***************************
// Nos movemos al siguiente registro
// ***************************
rstIntranet.Movenext();
} // while (!rstIntranet.eof){
%>
</table>
<%
// ****************
// Cerramos objetos
// ****************
rstIntranet.close();
rstBusqueda = null;
rstIntranet = null;
cone.close();
cone = null;
%>
</body>
</html>
A ver si esto te ayuda en algo
Un saludo