Asp

Hola... Agradezco su atención y ayuda...
Estoy haciendo una consulta en ASP y tengo el siguiente mensaje de error y no lo he podido corregir..."Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Ha intentado ejecutar una consulta que no incluye la expresión especificada 'regional' como parte de una función de agregado.
/conectividad/regional.asp, line 18"
El código de regional.asp es"
<%@ Language=VBScript %>
<HTML>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1"></font> <HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<link href="file:///C|/Inetpub/wwwroot/WEBDIC/CSS/Level3_1.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY background="../Im%E1genes/marcaagua.jpg">
<%
etapa=request("etapa")
%>
<span class="subtitle">
<%
set oconn=server.CreateObject("ADODB.connection")
oconn.Open "DRIVER={Microsoft Access Driver (*.mdb)};"&" DBQ="&server.MapPath("\basedatos\proyinvestig.mdb")
consultar="select Proyectos.idproyecto,Proyectos.titulo,Proyectos.año, ProyectoXAutores.idproyecto, Autores.Nombre, Fases.fase from Proyectos,Autores,ProyectoXAutores,Fases where Fases.idfase = Proyectos.id_fase and Autores.idautor = ProyectoXAutores.id_autor and Proyectos.idproyecto = ProyectoXAutores.idproyecto and trim(str(idfase))='"&etapa&"'Group By Proyectos.idproyecto,Proyectos.titulo,Proyectos.año,Autores.Nombre,Fases.idfase"
set ors=oconn.Execute(consultar)
if ors.eof then
Response.Write "NO HAY DATOS EN LA BASE DE DATOS"
else
Response.Write "<center>"
Response.Write "<table border='0' cellspacing='0'>"
Response.Write "<tr bgcolor='#CCCCFF'><td><b>No.PROYECTO</td><td><b>NOMBRE PROYECTO</td><td><b>NOMBRE AUTOR</td><td><b>AÑO</td></tr>"
%>
</span>
<%
flag=true
while not ors.eof
if flag then
%>
<tr bgcolor='#CCCCFF'>
<%
else
%>
<tr bgcolor='#CCCCCC'>
<%
end if
%>
<td><%=ors(0)%></td>
<td><%=ors(1)%></td>
<td><%=ors(3)%></td>
<td><%=ors(2)%></td>
<%proyecto2=ors(0)%>
</TR>
<%
ors.movenext
if not ors.eof then
proyecto=ors(0)
while not ors.eof and proyecto=proyecto2
if flag then
%>
<tr bgcolor='#CCCCFF'>
<%
else
%>
<tr bgcolor='#CCCCCC'>
<%
end if
%>
<td> </td>
<td> </td>
<td><%=ors(3)%></td>
<td> </td>
</tr>
<%
ors.movenext
if not ors.eof then
proyecto=ors(0)
end if
Wend
end if
%>
<%
flag=not flag
WEND
%>
</TABLE>
<%
end if
%>
<P> </P>
</BODY>
</HTML>"
La base de datos proyinvestig.mdb tiene las siguientes tablas Proyectos (idproyecto, año, titulo) Autores (idautor, Nombre), ProyectoXAutores(idproyecto, id_autor) Regionales (idregional, regional) ProyectoXRegional (idproyecto, id_regional)
Gracias...

2 respuestas

Respuesta
1
El primer problema que encuantroen tu código es que creas el objeto oconn erróneamente.
Hacelo así:
oconn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("\basedatos\proyinvestig.mdb")
Después, tenés u problema cuando creas el string de la consulta.
Hacelo así:
consultar="select * from nombre_tabla where idfase = id_fase and Autores = id_autor and idproyecto = idproyecto and idfase='" & etapa & "'Group By idproyecto"
Luego, debés crear un objeto recordset para realizar la consulta así:
set ors=Server.CreateObject("ADODB.RecordSet")
Ors. Open consultar, oconn
Además, al principio hacés:
etapa=request("etapa")
Esto no hace nada, en todo caso si este valor viene de un formulario enviado con método post, debés hacer así:
etapa=request.FORM("etapa")
Respuesta
-1
Perdón la tardanza si sigues teniendo el problema enviame bd y consulta a [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas