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

Sentencia If

Estas en el tema de Sentencia If en el foro de ASP Clásico en Foros del Web. Hola, esto me tiene al borde no se si es que estoy ciego de la rabia y no veo mi error o que. Les pido ...
  #1 (permalink)  
Antiguo 19/03/2003, 15:16
 
Fecha de Ingreso: marzo-2002
Ubicación: Venezuela
Mensajes: 188
Antigüedad: 23 años, 1 mes
Puntos: 0
Sentencia If

Hola, esto me tiene al borde no se si es que estoy ciego de la rabia y no veo mi error o que. Les pido ayuda en este script.

Resulta que tengo una pagina que extrae los datos de una BD y luego los muestra en un listado, el problema es que yo coloco los encabezados de los campos como vinculos con una variable que hace link con la misma pagina de manera que cuando haga click en determinado vinculo me ordene la consulta deacuerdo a el valor de esa variable, aqui coloco un poco de este codigo para que alguien lo revise por favor gracias de antemano.

----------

<%
Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop
dim dia_nu
'dim orden
dia_nu = 18
mostrar = 10 ' Pueden modificar este número para cambiar la cantidad de registros por página
Response.Write dia_nu
' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

Set cn = Server.CreateObject("ADODB.Connection")
cn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\database\database.mdb"))
---
'aqui es donde realizo mi primera condicion
---

'pero me trae la consulta y se salta el if no los ordena por el nombre.
----

if orden = nombre then
sql = "SELECT datos_personal.nomb_empl, datos_departamento.nomb_dpto, datos_fecha.dia, datos_fecha.mes, datos_fecha.hora FROM datos_personal INNER JOIN (datos_fecha INNER JOIN (datos_departamento INNER JOIN tbl_fecha ON datos_departamento.id_dpto = tbl_fecha.id_dpto) ON datos_fecha.id_fecha = tbl_fecha.id_fecha) ON datos_personal.id_empl = tbl_fecha.id_empl ORDER BY datos_personal.nomb_empl desc;"
else
'sql = "SELECT datos_personal.nomb_empl, datos_departamento.nomb_dpto, datos_fecha.dia, datos_fecha.mes, datos_fecha.hora FROM datos_personal INNER JOIN (datos_fecha INNER JOIN (datos_departamento INNER JOIN tbl_fecha ON datos_departamento.id_dpto = tbl_fecha.id_dpto) ON datos_fecha.id_fecha = tbl_fecha.id_fecha) ON datos_personal.id_empl = tbl_fecha.id_empl ORDER BY datos_personal.nomb_empl;"
end if

---
esta es la parte donde llamo a la pagina
Response.Write "<TD><B>"
Response.Write "<a href=./pruebadepag.asp?orden=nombre>Nombre</a>"
Response.Write "<B></TD>"
Response.Write "<TD><B>"
Response.Write "<a href=./pruebadepag.asp?orden=departamento>Departamento</a>"
Response.Write "<B></TD>"
-------

Hay mas codigo pero este es elñ que me interesa mostrar

Que me dicen
  #2 (permalink)  
Antiguo 19/03/2003, 15:22
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años, 5 meses
Puntos: 0
NO deberia ser
If orden = "nombre" Then
...
Else
...
End If

Creo que ese es el problema... mira a ver...
__________________
Tu portal de manga y anime.
  #3 (permalink)  
Antiguo 19/03/2003, 20:57
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 23 años, 2 meses
Puntos: 2
Yo probaria de la siguiente forma....

If request.querystring("order") = "nombre" then
bla
bla
bla

Yo creo que deberias responder... asi nos cuentas como te fue!
Te parece buena idea ???

Sugerencia... para optimizar el codigo... y para poder ordenar tablas mucho mas grandes.... ATENCION!

En los links (nombres de las columnas que muestran los resultados del sql).... en la variable "orden" le pasamos la variable con un numero en ves de con el nombre....
Ejemplo:

Supongamos que estas son las columnas que tienes que ordenar
<a href=./pruebadepag.asp?order=1>Nombre</a>
<a href=./pruebadepag.asp?order=2>Apellido</a>
<a href=./pruebadepag.asp?order=3>Domicilio</a>

La variable order que pasas en la URL va a ser el orden en que va a esta en la misma consulta en el Select....
Si Ordenas por el campo 3 ya sabes que en el select de la cosulta el 3 es Domicilio..... Bueno... con un ejemplo me explico mejor..

"SELECT nombre, apellido , domicilio FROM Tabla ORDER BY" & Request.querystring("order")

De esta forma haces una sola consulta en ves de dos y sacas el If que te trae problemas no ?

Saludos
__________________
tech-nico.com
  #4 (permalink)  
Antiguo 19/03/2003, 21:00
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 23 años, 4 meses
Puntos: 11
y qué error te da, o qué pasa?
  #5 (permalink)  
Antiguo 20/03/2003, 06:20
 
Fecha de Ingreso: marzo-2002
Ubicación: Venezuela
Mensajes: 188
Antigüedad: 23 años, 1 mes
Puntos: 0
Olle esta muy bien ya probe de la primera forma que me sujeriste y realmente me funcionó pero la segunda me parece mejor y asi me ahorro varias lineas de codigo.

Estoy probando ser bueno en ASP y pienso que es mejor preguntar a los que saben cuando uno que esta empesando tiene trabas. Mi real falla es que no conozco bien de teoria y me voy a la practica sin conocerla mucho. Espero mejorar pronto.

Muchisimas gracias por su ayuda

Alex...
  #6 (permalink)  
Antiguo 20/03/2003, 15:52
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 23 años, 2 meses
Puntos: 2
me alegra mucho que te haya servido mi ayuda!:..
Cualquier cosa... me avisas...
Saludos Alexjose...!
__________________
tech-nico.com
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 08:21.