Es que cuando me dán errores así, me pongo a probar todo
Solución 1.-
Código:
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);
while (!rstIntranet.eof){
Response.Write(rstIntranet.Fields.id_destacados.value);
rstIntranet.Movenext();
}
%>
</table>
<%rstIntranet.close();
cone.close();%>
Error en tiempo de ejecución de Microsoft JScript (0x800A138F)
'rstIntranet.Fields.id_destacados.value' es nulo o no es un objeto
/portal_joven/listado_destacados.asp, línea 53
Linea 53: Response.Write(rstIntranet.Fields.id_destacados.va lue);
Solución 2.-
Error: 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
Línea 36: intra3.Open(vartabla,cone,adOpenStatic,adCmdTable) ;
Tiene lógica, si rstIntranet.Fields.id_destacados no contiene ningún valor, la select que lo compara estará mal hecha.
**** Sigo peleandome con esto ****
He ido probando otras maneras a ver si así conseguia algo:
Por ejemplo si pongo:
Código:
while (!rstIntranet.eof){
%><tr>
<%
Response.Write(rstIntranet("destacados_tipo"));
vartabla="Select tipo_nombre from tipos where id_tipo=(select destacados_tipo from destacados where id_destacado='"+ rstIntranet("destacados_tipo") +"')";
intra3.Open(vartabla,cone,adOpenStatic,adCmdTable);
El error no me salta en el response Write sino...
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
Linea 36: intra3.Open(vartabla,cone,adOpenStatic,adCmdTable) ;
Si rstIntranet("destacados_tipo") no es nulo, no tendría por qué dar error no?
Y otra manera...
Código:
while (!rstIntranet.eof){
%><tr>
<%
Response.Write(rstIntranet("destacados_tipo"));
vartabla="Select tipo_nombre from tipos where id_tipo=(select destacados_tipo from destacados where id_destacado=1)";
intra3.Open(vartabla,cone,adOpenStatic,adCmdTable);
ADODB.Recordset (0x800A0E79)
La operación no está permitida si el objeto está abierto.
/portal_joven/listado_destacados.asp, línea 36 Linea 36: intra3.Open(vartabla,cone,adOpenStatic,adCmdTable) ;
Con esto supongo que se referirá a la conexión, he probado a Cerrarla y Abrirla antes de atacar a la BD pero, entonces me decía que estaba cerrada.... yo ya no sé qué pensar xD