Foros del Web » Programando para Internet » ASP Clásico »

Busqueda compleja con una sola Consulta Sql :-)

Estas en el tema de Busqueda compleja con una sola Consulta Sql :-) en el foro de ASP Clásico en Foros del Web. Señores, acabo de terminar eso que dice el título, y es que tenía un formulario el cual tenía muchos campos y se me hacía muy, ...
  #1 (permalink)  
Antiguo 07/08/2002, 10:39
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 23 años, 1 mes
Puntos: 7
Busqueda compleja con una sola Consulta Sql :-)

Señores, acabo de terminar eso que dice el título, y es que tenía un formulario el cual tenía muchos campos y se me hacía muy, pero muy pesado hacer un if para cada campo del formulario, y sabía que si hacía todo tipo de combinaciones, me iba a dar demaciadas líneas de código. ;)

Entonces se me ocurrio la idea de irle agregando pedasos de sentencias a la sentencia Sql para hacer mi consulta en la BD según se dé el caso.

Me explico...
Si en un combobox de un formulario y en el tiene:
<option>Todas las opciones</option>
<option>opcion1</option>
<option>opcion1</option>
<option>Etc...</option>

En este caso, yo, lo que ubiera hecho serían dos consultas, una con:
Código:
where Campo = '" & ComboBox & "'
si el usuario no escoje la opcion "Totas las opcions" y otra sin el where si el usuario escoje "Todas".

Pero como se me presentó un formulario en el que el usuario escoje muchas opciones, y como no quería hacer tantas posibles consultas que se pudieran dar, hice lo siguiente: :)

Canturo en una variable el request, ej.

Código:
variable = request.form("ComboBox")
Entonces hago la pregunta aqui:
Código:
If Variable = "Todas las opciones" then
    Variable2 = ""
Else
    Variable 2 = " and Campo.Tabla = " & variable  & ""
End If
Entonces lo único que habría que hacer es que en la Variable donde uno almacena la setencia SQL concatenarle a variable despues del Where para que en caso de que el usuario haya escogido "Todas las opciones" no le concatene nada y por el contrado, si el usuario escogio alguna opcion, entonces, que la concatene. ;)

Esto esta bien bueno, para los que hacer muchas consultas con formularos que pides muchos datos. :) ;) :P

Espero le haya servido de Tips... a mi me super funciona :cantar:

.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pesimo gusto contentarse con algo mediocre cuando lo excelente esta a nuestro alcance--
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:20.