Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ADO
 Concatenar consultas BD
 Foro Bloqueado  Tema Bloqueado


Autor Temas
jor3tg
Starting Member


20 Posts
Mensajes - 17 Jun 2003 :  13:56:04  Ver Perfil  Enviar Email
Es la primera consulta que ago a ver si alguin seria tan amable de echarme una manita: La cosa es asi, tengo una pagina conde se van realizando unos cambios en una BD Acces, despues se puede consultar en una pagina donde se muestran, estoy contruyendo una pagina intermedia para filtrar los registro que se muestran, en la pagina que muestra los registros tengo el siguiente codigo

<%
dim cn
dim CadenaConsulta
CadenaConsulta="SELECT * FROM Cambios"
set cn = Server.CreateObject("ADODB.connection")
cn.Open (Application("cadenadb"))
dim rs
dim marcador
marcador=0
set rs=server.CreateObject("ADODB.Recordset")
if Request.Form("Driver")<>"Todos" then
if marcador=>1 then
CadenaConsulta = CadenaConsulta & " AND"
marcador=marcador+1
end if
CadenaConsulta = CadenaConsulta & " WHERE Driver='"& Request.Form("Driver") &"'"
marcador=marcador+1
end if
if Request.Form("Entrada")<>"Todos" then
if marcador=>1 then
CadenaConsulta = CadenaConsulta & " AND"
marcador=marcador+1
end if
CadenaConsulta = CadenaConsulta & " WHERE Entrada='"& Request.Form("Entrada") &"'"
marcador=marcador+1
end if
if Request.Form("Login")<>"Todos" then
if marcador=>1 then
CadenaConsulta = CadenaConsulta & " AND"
marcador=marcador+1
end if
CadenaConsulta = CadenaConsulta & " WHERE Login='"& Request.Form("Login") &"'"
marcador=marcador+1
end if
if Request.Form("EstadoAnt")<>"Todos" then
if marcador=>1 then
CadenaConsulta = CadenaConsulta & " AND"
marcador=marcador+1
end if
CadenaConsulta = CadenaConsulta & " WHERE EstadoAnt='"& Request.Form("EstadoAnt") &"'"
marcador=marcador+1
end if
if Request.Form("EstadoDes")<>"Todos" then
if marcador=>1 then
CadenaConsulta = CadenaConsulta & " AND"
marcador=marcador+1
end if
SELECT CASE Request.Form("EstadoDes")
CASE "Nulos Por Sistema"
CadenaConsulta = CadenaConsulta & " WHERE EstadoDes='N'"
CASE "Nulos Vuelta a tras"
CadenaConsulta = CadenaConsulta & " WHERE EstadoDes='A'"
CASE ELSE
CadenaConsulta = CadenaConsulta & " WHERE EstadoDes='"& Request.Form("EstadoDes") &"'"
end select
marcador=marcador+1
end if

CadenaConsulta = CadenaConsulta & " ORDER BY codCambio"

rs.Open CadenaConsulta,cn

if rs.BOF =false and rs.EOF=false then
While rs.EOF =false
Response.Write ("<tr>")
server.HTMLEncode (Response.Write ("<td>" & rs("Fecha") & "</td>"))
server.HTMLEncode (Response.Write ("<td>" & rs("Hora") & "</td>"))
server.HTMLEncode (Response.Write ("<td>" & rs("Driver") & "</td>"))
server.HTMLEncode (Response.Write ("<td>" & rs("Entrada") & "</td>"))
server.HTMLEncode (Response.Write ("<td>" & rs("Login") & "</td>"))
server.HTMLEncode (Response.Write ("<td>" & rs("EstadoAnt") & "</td>"))
SELECT CASE rs("EstadoDes")
CASE "N"
server.HTMLEncode (Response.Write ("<td>Nulo Por Sistema</td>"))
CASE "A"
server.HTMLEncode (Response.Write ("<td>Nulo Vuelta a Tras</td>"))
CASE ELSE
server.HTMLEncode (Response.Write ("<td>" & rs("EstadoDes") & "</td>"))
end select
rs.MoveNext
wend

Response.Write "</tr>"
else
Response.Write ("No hay datos")
end if
rs.Close
set rs=nothing
cn.Close
set cn=Nothing
%>


La consulta si se le introduce un solo prametro de busqueda va bien el problema surge cuando se introducen dos campos de filtrado, en ese momento da un error y en la cadena de la consulta sql el ultimo parametro de texto aparece con unas comillas dobles en vez de simple por ejemplo

Login='pepe"

pero solo en el ultimo parametro

Bueno gracias de antemano a quien me pueda echar una manita

buho_nero
Moderator

España
1316 Posts
Posted - 17 Jun 2003 :  16:50:14  Ver perfil  Enviar e-mail
Por lo que he visto si pones dos condiciones (es decir, dos variables distintas de "todos") vas a tener dos clausulas WHERE, con lo que tendrás un error de sintáxis. Yo de ti sacaría el "WHERE" mientras vas construyendo las condiciones y lo añadiría al final.

Inicio Pagina

jor3tg
Starting Member


20 Posts
Posted - 18 Jun 2003 :  09:28:51  Ver perfil  Enviar e-mail
[quote]
La clausuala Where la voy añadiendo con un And antes del Where si ya existe otro where para eyo utilizo la variable marcador, pero efectivamente creo que ese es el problema como tu dices. La cuestion es como podria sacar el where fuera, alguna sugerencia, gracias por tu respues.

Edited by - jor3tg on 18 Jun 2003 09:32:01Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar