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

Ordenar campos una vez ejecutada la consulta

Estas en el tema de Ordenar campos una vez ejecutada la consulta en el foro de ASP Clásico en Foros del Web. Hola, estuve mirando por los foros pero no encuentro algun caso similar. El tema es que tengo un formulario en el cual envio en un ...
  #1 (permalink)  
Antiguo 30/12/2004, 18:30
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 23 años, 4 meses
Puntos: 0
Pregunta Ordenar campos una vez ejecutada la consulta

Hola, estuve mirando por los foros pero no encuentro algun caso similar.
El tema es que tengo un formulario en el cual envio en un textarea varios codigos de productos a buscar y una página que recibe esos datos y ejecuta la consulta mostrando el detalle de los productos con esos códigos. Eso funciona ok . El tema es que necesito poder ordenar estos resultados ya sea por precio o por nombre, pero una vez que se ejecuta la consulta los productos me los muestra en el orden en que son encontrados. ¿Hay alguna forma de poder ordenarlos antes de que los resultados sean mostrados?
Muchas gracias!!!!
  #2 (permalink)  
Antiguo 30/12/2004, 18:46
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
puedes poner en el formulario una opcion de como quiere que te los ordenes, puede ser un checkbox, un radiobutton, etc, algo que mande la informacion de como quiere que se muestre la informacion desde el mismo formulario de busqueda
__________________
CreandoWebs.com
www.creandowebs.com
PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO
  #3 (permalink)  
Antiguo 31/12/2004, 05:36
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 22 años, 8 meses
Puntos: 16
sino quieres recargar la pagina tendrias entonces que hacerte un arreglo javascript con los datos cargados y de ahi ordenarlos en el cliente
  #4 (permalink)  
Antiguo 03/01/2005, 15:02
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 23 años, 4 meses
Puntos: 0
Pregunta

Hola, les comento que probé de poner en el formulario una opcion que me envíe que tipo de orden elegir. El tema es que este dato me lo manda, pero al poner "Order by" y la opcion elegida, no los ordena ya que se ejecuta la consulta para buscar cada producto elegido, entonces el resultado que encuentra es uno solo, al tener un solo resultado no tiene nada que ordenar. Lo que quiero saber si se puede hacer es ordenarlos una vez que tengo los resultados.
Aca les pongo el codigo para ver si me puedo explicar mejor

Primero recojo los valores del formulario

<%
If Request.Form("codigo")<>"" then
Dim cod
cod = Split(request.form("codigo"),VBCrLf)
%>


Luego ejecuto la consulta para que encuentre cada registro.
<%
Dim i
Dim cn
Dim rsRubro
Dim strSql
strDsn = "yorma"
For i = LBound(cod) To UBound(cod)
Dim cadena
cadena = (cod(i))
Set cn = Server.CreateObject("ADODB.Connection")
cn.open strDsn
Set rsRubro = Server.CreateObject("ADODB.recordset")
strSql = "Select IdProducto, Codigo, Codigointerno, Nombre, Descripcion, Medidas, Precio1, Precio2, Imagen, Imagen2, Imagen3, Cantidadxbulto From Producto WHERE Codigointerno = '" & cadena & "' "
rsRubro.open strSql , cn
while Not rsRubro.eof
%>


Por mas que le ponga un "Order By" al encontrar un solo registro no tiene nada que ordenar.
¿Hay algun procedimiento para que los pueda ordenar una vez obtenidos los resultados?
Muchas gracias por la ayuda.
  #5 (permalink)  
Antiguo 03/01/2005, 15:28
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
Los codigos deben venir separados x comas, Si no fuera asi, haces un
cadena = replace(request.form("codigo"),VBCrLf, ",")

Despues la sentencia es Select IdProducto, Codigo, Codigointerno, Nombre, Descripcion, Medidas, Precio1, Precio2, Imagen, Imagen2, Imagen3, Cantidadxbulto From Producto WHERE Codigointerno in ('" & cadena & "')" Order by Condicion.

y ahi los deberias tener ordenados.

Saludos.
__________________
Javo.
www.thesitewatcher.com
Monitoreo y Auditoría de Sitios de Internet
  #6 (permalink)  
Antiguo 03/01/2005, 18:25
 
Fecha de Ingreso: enero-2002
Mensajes: 73
Antigüedad: 23 años, 4 meses
Puntos: 0
Pregunta

Hola Javo! Gracias por responder.
Estuve probando el código que me pasaste, pero no me está funcionando. Aplique esa conversion de la cadena ya que los códigos los envía con un salto de renglón pero solo me muestra los resultados si en el formulario ingreso un solo código, si ingreso más código no me muestra nada, ni me dice que no encontró datos.
Te muestro mas abajo como apliqué lo que me pasaste para ver si te entendí bien o no.

Tomo los datos del formulario

<%
Dim orden
orden = Request.Form("orden")
If Request.Form("codigo")<>"" then
Dim cadena
cadena = replace(request.form("codigo"),VBCrLf, ",")
%>


Luego ejecuto la consulta

<%
Dim cn
Dim rsRubro
Dim strSql
strDsn = "yorma"
Set cn = Server.CreateObject("ADODB.Connection")
cn.open strDsn
Set rsRubro = Server.CreateObject("ADODB.recordset")
strSql = "Select IdProducto, Codigo, Codigointerno, Nombre, Descripcion, Medidas, Precio1, Precio2, Imagen, Imagen2, Imagen3, Cantidadxbulto From Producto WHERE Codigointerno in ('" & cadena & "') Order by ('"& orden &"')"
rsRubro.open strSql , cn
while Not rsRubro.eof
%>


Muestro los datos

<%=rsRubro.fields("Descripcion")%>
<%=rsRubro.fields("Codigointerno")%>
etc.....


y cierro la conexion

<%
rsRubro.movenext
wend
cn.close
Set rsRubro = nothing
Set cn = nothing
else
Response.Write "<h2>No hay datos Disponibles</h2>"

%>


Gracias!!!
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 11:22.