Asp

Hola., estoy haciendo un archivo de consulta en ASP, pero me aparece el mensaje "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 17" y no sé cómo corregirlo.
Tengo una b.de Access con las Tablas, Proyectos (idproyecto, año, titulo) Autores(idautor, Nombre) ProyectoXAutores(idproyecto, id_autor) Regionales (idregional, regional) ProyectoXRegional(idproyecto, id_regional)
Y el archivo regional.asp tiene el siguiente código:
<%@ Language=VBScript %>
<HTML>
BODY
regional=request("regional")
%>
<span class="subtitle">
<%
set oconn=server.CreateObject("ADODB.connection")
oconn.Open "DRIVER={Microsoft Access Driver (*.mdb)};"&" DBQ="&server.MapPath("\basedatos\proyinvestig.mdb")
'AQUI ESTA EL ERROR'
consultar="select Proyectos.idproyecto,Proyectos.titulo,Proyectos.año, Autores.Nombre, Regionales.regional, ProyectoXRegional.id_regional, Regionales.idregional from Autores,Proyectos,ProyectoXAutores, Regionales,ProyectoXRegional where ProyectoXAutores.idproyecto = Proyectos.idproyecto and ProyectoXRegional.id_regional = Regionales.idregional and ProyectoXRegional.idproyecto = Proyectos.idproyecto and ProyectoXAutores.idproyecto = Proyectos.idproyecto and trim(str(id_regional))='"&regional&"'Group By Proyectos.idproyecto,Proyectos.titulo,Proyectos.año,Autores.Nombre"
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>
Agradezco su colaboración..

2 Respuestas

Respuesta
1
Primero, el primer error es el siguiente:
regional=request("regional")
%>
Le falta el iniciador del código:
<%
regional=request("regional")
%>
Segundo, en tu sentencia de búsqueda nunca relacionas la tabla de autores.
Respuesta
1
La primer linea abajo del body
BODY
regional=request("regional")
reemplazala por :
regional = Request.Form("regional")
Éxitos
Kaos
Gracias, pero ya lo hice y tampoco funciona... sigue apareciendo el mismo error "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"
'"&regional&"'Group By
EN ESE FRAFMENTO DE CODE SEPARA
'" & regional & "'Group By
¿Me contás si te anduvo?
Éxitos
KAOS
Gracias... ya cambié el código así:
...and trim(str(idregional))='"& regional &"'Group By ...
Y tampoco funciona... sigue el mismo error...
Nuevamente gracias...
and trim(str(idregional))='" & regional & "'Group By ...
Te falto espacio después del ampersad.
Si te sigue sin funcionar prueba con un select más simple de una o dos columnas.
Antes de poner el sql en el asp pruébalo en la vista de sql del access.
Es una buena practica.
Éxitos
KAOS

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas