Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/07/2003, 10:01
ciberpata
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años, 11 meses
Puntos: 0
Error de sintaxis en Sentencia SQL

Saludos al foro:
Lo que la pagina "ofertas.asp" tiene que hacer es lo siguiente:
Recoge el valor del campo claseoferta de un recordset y lo muestra dentro de un formulario, de forma que al pulsar sobre el botón "Ir a" vaya a la pagina "generartabla.asp".

La página generartabla.asp debe lanzar un listado filtrado por el valor del campo claseoferta; pero me produce un error que es el siguiente:


Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'claseoferta ='.

/generartabla.asp, line 53


Les paso el código de las dos páginas por si ven el error, porque yo no soy capaz de verlo.

------------------------------------------
Codigo de la página ofertas.asp:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Escoja su clase de oferta</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}
//-->
</script>

</head>

<body>
<!--Incluimos el fichero de constantes-->
<!--#INCLUDE file="ADOVBS.inc"-->
<%
'Para conexión a dsn arsys con ACCESS
'Set Ob_Conn= Server.CreateObject("ADODB.Connection")
'Set Ob_Command= Server.CreateObject("ADODB.Command")
'Ob_Conn.open "DSN=clubviajesoferta.com.access"
'Ob_Command.ActiveConnection=Ob_Conn
'Ob_Command.CommandType=adCmdText
'Ob_Command.CommandText= "SELECT * FROM ofertas WHERE id = " & Request.QueryString("id")"
'Set Ob_RS=Ob_Command.Execute ()
'Termina aquí la conexion a dsn arsys con ACCESS

'Para conexion a ODBC local
Set Ob_Conn = Server.CreateObject("ADODB.Connection")
Set Ob_Command= Server.CreateObject("ADODB.Command")
Ob_Conn.open "cvo_odbc"
' Abrimos la tabla, declaramos que conexión esta abierta, tipo de cursor, tipo de cerrojo, y opciones
Ob_Command.ActiveConnection=Ob_Conn
Ob_Command.CommandType=adCmdText
Ob_Command.CommandText= "SELECT DISTINCT claseoferta FROM ofertas"
Set Ob_RS=Ob_Command.Execute ()
%>
Estos son las clases de ofertas que tiene a su disposición:
Haga click sobre el botón "Ir A" correspondiente para ver el contenido de dichas ofertas
<% do until Ob_RS.eof %>

<form method="post" action="generartabla.asp?claseoferta=<%=Ob_RS("cla seoferta")%>">
<%=Ob_RS("claseoferta")%>
<input type="hidden" name="campodebusqueda" value="<%=Ob_RS("claseoferta")%>">
<input type="submit" value="Ir A">
</form>
<%Ob_RS.movenext%>
<% loop %>
<%Ob_RS.close
Ob_Conn.close%>

</body>
</html>
------------------------------------------


Codigo de la página "generartabla.asp"


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%response.Expires=0%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>

<SCRIPT LANGUAGE="JavaScript">
<!--
function AbrirVentana (theURL, winName, features)
{
window.open (theURL, winName, features);
}
-->
</SCRIPT>


</head>

<body background="images/frame_izqda_con_opacidad.jpg" leftmargin="0" topmargin="25" marginwidth="0" marginheight="0">
<!--Incluimos el fichero de constantes-->
<p>
<!--#INCLUDE file="ADOVBS.inc"-->
<%
'Para conexión a dsn arsys con ACCESS
'Set Ob_Conn= Server.CreateObject("ADODB.Connection")
'Set Ob_Command= Server.CreateObject("ADODB.Command")
'Ob_Conn.open "DSN=clubviajesoferta.com.access"
'Ob_Command.ActiveConnection=Ob_Conn
'Ob_Command.CommandType=adCmdText
'Ob_Command.CommandText= "SELECT * FROM ofertas"
'Set Ob_RS=Ob_Command.Execute ()
'Termina aquí la conexion a dsn arsys con ACCESS

'Para conexion a ODBC local
Set Ob_Conn = Server.CreateObject("ADODB.Connection")
Set Ob_Command= Server.CreateObject("ADODB.Command")
Ob_Conn.open "cvo_odbc"
' Abrimos la tabla, declaramos que conexión esta abierta, tipo de cursor, tipo de cerrojo, y opciones
Ob_Command.ActiveConnection=Ob_Conn
Ob_Command.CommandType=adCmdText
Ob_Command.CommandText= "SELECT * FROM ofertas WHERE claseoferta = " & Request.form("claseoferta")
Set Ob_RS=Ob_Command.Execute ()
%>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr bgcolor="#e0e0e0">
<td width="8%"> <div align="left"><font color="#003399" size="1" face="Arial, Helvetica, sans-serif">Destino</font></div></td>
<td width="5%"> <div align="left"><font color="#003399" size="1" face="Arial, Helvetica, sans-serif">Zona</font></div></td>
<td width="23%"> <div align="left"><font color="#003399" size="1" face="Arial, Helvetica, sans-serif">Salidas</font></div></td>
<td width="17%"> <div align="left"><font color="#003399" size="1" face="Arial, Helvetica, sans-serif">Fecha
de Salida</font></div></td>
<td width="19%"> <div align="left"><font color="#003399" size="1" face="Arial, Helvetica, sans-serif">Hotel</font></div></td>
<td width="3%"><font color="#003399" size="1" face="Arial, Helvetica, sans-serif">Categoría</font></td>
<td width="4%"><div align="left"><font size="2"><font size="1"><font size="1"><font face="Arial, Helvetica, sans-serif"></font></font></font></font></div></td>
<td width="12%"> <div align="left"><font color="#003399" size="1" face="Arial, Helvetica, sans-serif">Precio</font></div></td>
<td width="13%"> <div align="left"><font color="#003399" size="1" face="Arial, Helvetica, sans-serif">Regimen</font></div></td>
</tr>
<% do until ob_RS.eof %>
<tr align="left" valign="top" bgcolor="#ebf3eb">
<td>
<div align="left"><font size="1" face="Arial, Helvetica, sans-serif"><%=Ob_RS("destino")%></font></div></td>
<td>
<div align="left"><font size="1" face="Arial, Helvetica, sans-serif"><%=Ob_RS("Zona")%></font></div></td>
<td>
<div align="left"><font size="1" face="Arial, Helvetica, sans-serif"><%=Ob_RS("salidas")%></font></div></td>
<td>
<div align="left"><font size="1" face="Arial, Helvetica, sans-serif"><%=Ob_RS("fechasalida")%></font></div></td>
<td>
<div align="left">
<p><font size="1" face="Arial, Helvetica, sans-serif"><%=Ob_RS("hotelnombre")%> </font></div></td>
<td><font size="1" face="Arial, Helvetica, sans-serif"><%=Ob_RS("hotelcategoria")%></font></td>
<td><font size="1" face="Arial, Helvetica, sans-serif"><a href="generartabla.asp"
onClick="AbrirVentana('ficha_hotel.asp?id=<%=Ob_RS ("id")%>', '', 'top=112, left=165, width=627, height=350, resizable=0')" shape="rect" >
<img src="images/iconohotel.gif" alt="Información sobre el hotel" width="22" height="22"></a>
</font>
<td>
<div align="left"><font size="1" face="Arial, Helvetica, sans-serif"><%=Ob_RS("hotelprecio")%> €</font></div></td>
<td width="16%">
<div align="left"><font size="1" face="Arial, Helvetica, sans-serif"><%=Ob_RS("hotelregimen")%></font></div></td>
</tr>
<% Ob_RS.movenext
loop
Ob_RS.close
Ob_Conn.close
%>
</table>
</body>
</html>

Gracias por todo a todo el foro