Parametros y Paginacion ASP

04/12/2006 - 23:52 por Marcos Galaviz | Informe spam
Hola a todos miren estoy intentando paginar todo iba bien hasta que ahora
necesito evaluar si la estoy mandando llamar de otro form o bien de si
misma y por ello hago el codigo que pego mas abajo pero me manda este
error que no se como resolver, estoy casi seguro que es algo al pasar el
parametro pues ahi es donde truena la consulta pues la 1a. vez que la mando
llamar del form si funciona.. pero cuando le cambio la pagina truena :(,
espero no haberlos confundido y que alguien me pueda ayudar a resolver mi
problema de novato :(


Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta
operador) en la expresión de consulta 'ACTIVO='SI' AND MARCA='' and
IDMODELO='.
/autos/paginar.asp, línea 81

A continuacion copio el codigo que estoy intentando utilizar para comprobar
si viene de el form o bien se llama a si misma...

if Request.Form("Categorias")="" then
Marca_buscada=trim(Request.QueryString("marca"))
else
Marca_buscada=Request.Form("Categorias")
end if

if Request.Form("Productos")="" then
Modelo_buscado=trim(Request.QueryString("modelo"))
else
Modelo_buscado=Request.Form("Categorias")
end if

SET RS_AUTOMOVILES = CreateObject("ADODB.Recordset")
if Marca_buscada="TODOS" THEN
SQL="SELECT * FROM AUTOMOVILES where ACTIVO='SI' "
else
SQL="SELECT * FROM AUTOMOVILES WHERE ACTIVO='SI' AND
MARCA='"&Marca_buscada&"' and IDMODELO="&Modelo_buscado&" "
end if
RS_AUTOMOVILES.Open SQL, CONN1,3,1


El codigo que la manda a llamar a si misma es el siguiente:

<a
href="./paginar.asp?Marca_buscada=<%=Marca_buscada%>&Modelo_buscado=<%=Modelo_buscado%>&eje0&page=<%=
I %>"><%= I %></a>

Preguntas similare

Leer las respuestas

#1 Dani Castillo
05/12/2006 - 08:12 | Informe spam
En algun momento pierdes el "modelo", por eso la sentencia tiene forma
incorrecta, comprueba que estes pasando bien los parametros , especialmente
el query "modelo" que equivale al form "Categorias" (¿porque no llamarlos
igual? evitaras mareos al analizar el codigo)

if Request.Form("Productos")="" then
Modelo_buscado=trim(Request.QueryString("modelo"))
else
Modelo_buscado=Request.Form("Categorias")
end if

puedes añadir algo por seguridad
if Modelo_buscado="" then
response.write "Error: Has de especificar el modelo "
response.end
end if

o bien un valor por defecto para esa variable



_____________________
Dani
_____________________
"Marcos Galaviz" escribió en el mensaje
news:eu#1Bc$
Hola a todos miren estoy intentando paginar todo iba bien hasta que ahora
necesito evaluar si la estoy mandando llamar de otro form o bien de si
misma y por ello hago el codigo que pego mas abajo pero me manda este
error que no se como resolver, estoy casi seguro que es algo al pasar el
parametro pues ahi es donde truena la consulta pues la 1a. vez que la


mando
llamar del form si funciona.. pero cuando le cambio la pagina truena :(,
espero no haberlos confundido y que alguien me pueda ayudar a resolver mi
problema de novato :(


Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta
operador) en la expresión de consulta 'ACTIVO='SI' AND MARCA='' and
IDMODELO='.
/autos/paginar.asp, línea 81

A continuacion copio el codigo que estoy intentando utilizar para


comprobar
si viene de el form o bien se llama a si misma...

if Request.Form("Categorias")="" then
Marca_buscada=trim(Request.QueryString("marca"))
else
Marca_buscada=Request.Form("Categorias")
end if

if Request.Form("Productos")="" then
Modelo_buscado=trim(Request.QueryString("modelo"))
else
Modelo_buscado=Request.Form("Categorias")
end if

SET RS_AUTOMOVILES = CreateObject("ADODB.Recordset")
if Marca_buscada="TODOS" THEN
SQL="SELECT * FROM AUTOMOVILES where ACTIVO='SI' "
else
SQL="SELECT * FROM AUTOMOVILES WHERE ACTIVO='SI' AND
MARCA='"&Marca_buscada&"' and IDMODELO="&Modelo_buscado&" "
end if
RS_AUTOMOVILES.Open SQL, CONN1,3,1


El codigo que la manda a llamar a si misma es el siguiente:

<a



href="./paginar.asp?Marca_buscada=<%=Marca_buscada%>&Modelo_buscado=<%=Model
o_buscado%>&eje0&page=<%> I %>"><%= I %></a>


Respuesta Responder a este mensaje
#2 Dani Castillo
05/12/2006 - 08:18 | Informe spam
Por cierto en el caso concreto este la linea seria

Modelo_buscado=trim(Request.QueryString("modelo_buscado"))

Mucho ojo con los parametros , sus nombres y valores, es mejor seguir un
patron "claro" de nombres o sino te pasaran cosas como esta ;)

_____________________
Dani
_____________________
"Dani Castillo" <danicastilloarrobahotmail.com> escribió en el mensaje
news:#
En algun momento pierdes el "modelo", por eso la sentencia tiene forma
incorrecta, comprueba que estes pasando bien los parametros ,


especialmente
el query "modelo" que equivale al form "Categorias" (¿porque no llamarlos
igual? evitaras mareos al analizar el codigo)

if Request.Form("Productos")="" then
Modelo_buscado=trim(Request.QueryString("modelo"))
else
Modelo_buscado=Request.Form("Categorias")
end if

puedes añadir algo por seguridad
if Modelo_buscado="" then
response.write "Error: Has de especificar el modelo "
response.end
end if

o bien un valor por defecto para esa variable



_____________________
Dani
_____________________
"Marcos Galaviz" escribió en el mensaje
news:eu#1Bc$
> Hola a todos miren estoy intentando paginar todo iba bien hasta que


ahora
> necesito evaluar si la estoy mandando llamar de otro form o bien de si
> misma y por ello hago el codigo que pego mas abajo pero me manda


este
> error que no se como resolver, estoy casi seguro que es algo al pasar el
> parametro pues ahi es donde truena la consulta pues la 1a. vez que la
mando
> llamar del form si funciona.. pero cuando le cambio la pagina truena :(,
> espero no haberlos confundido y que alguien me pueda ayudar a resolver


mi
> problema de novato :(
>
>
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
> [Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta
> operador) en la expresión de consulta 'ACTIVO='SI' AND MARCA='' and
> IDMODELO='.
> /autos/paginar.asp, línea 81
>
> A continuacion copio el codigo que estoy intentando utilizar para
comprobar
> si viene de el form o bien se llama a si misma...
>
> if Request.Form("Categorias")="" then
> Marca_buscada=trim(Request.QueryString("marca"))
> else
> Marca_buscada=Request.Form("Categorias")
> end if
>
> if Request.Form("Productos")="" then
> Modelo_buscado=trim(Request.QueryString("modelo"))
> else
> Modelo_buscado=Request.Form("Categorias")
> end if
>
> SET RS_AUTOMOVILES = CreateObject("ADODB.Recordset")
> if Marca_buscada="TODOS" THEN
> SQL="SELECT * FROM AUTOMOVILES where ACTIVO='SI' "
> else
> SQL="SELECT * FROM AUTOMOVILES WHERE ACTIVO='SI' AND
> MARCA='"&Marca_buscada&"' and IDMODELO="&Modelo_buscado&" "
> end if
> RS_AUTOMOVILES.Open SQL, CONN1,3,1
>
>
> El codigo que la manda a llamar a si misma es el siguiente:
>
> <a
>



href="./paginar.asp?Marca_buscada=<%=Marca_buscada%>&Modelo_buscado=<%=Model
o_buscado%>&eje0&page=<%> > I %>"><%= I %></a>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida