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

Problema con un IF

Estas en el tema de Problema con un IF en el foro de ASP Clásico en Foros del Web. Hola a todos. Me podrian ayudar a poner a funcionar estas condiciones llevo ya dia y medio y no me sale. Que funciones estas dos ...
  #1 (permalink)  
Antiguo 28/01/2004, 16:12
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Problema con un IF

Hola a todos.

Me podrian ayudar a poner a funcionar estas condiciones llevo ya dia y medio y no me sale.

Que funciones estas dos sentencias en una sola.

Sentencia 1
if Marca <> "" and ucase(Marca)<>"Cualquiera" then
if sqlWhere <> "" then sqlWhere=sqlWhere & " AND "
sqlWhere = sqlWhere & " Marca ='" & Valor5& "'" t
end if

Sentencia 2
if Marca <> "" and ucase(Marca)="Cualquiera" then
if sqlWhere = "Cualquiera" then sqlWhere=sqlWhere & " AND "
sqlWhere = sqlWhere
end if


Ojala me puedan ayudar.
__________________
Hasta la victoria Siempre.
  #2 (permalink)  
Antiguo 28/01/2004, 16:31
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 20 años, 10 meses
Puntos: 1
panita creo que cada vez que abra un IF debes cerrarlo END IF.
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com
  #3 (permalink)  
Antiguo 28/01/2004, 16:35
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
Si pongo la sentencia 1 o 2 a funcionar por separado si realizar todo bien.

Lo que quiero es que funciones las 2 sentenicas juntas como puedo hacer esto.
__________________
Hasta la victoria Siempre.
  #4 (permalink)  
Antiguo 28/01/2004, 16:51
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 20 años, 10 meses
Puntos: 1
dale con un
SELECT CASE sqlWhere
CASE "":
'--- sentencia 1
CASE "Cualquiera":
'---- sentencia 2
END SELECT

practicandoyo tambien jeje
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com
  #5 (permalink)  
Antiguo 28/01/2004, 18:39
 
Fecha de Ingreso: noviembre-2003
Ubicación: Distrito Federal
Mensajes: 225
Antigüedad: 20 años, 7 meses
Puntos: 0
Lo que tienes que hacer es encadenarlas o anidarlas para que el programa siga la ruta que desees
  #6 (permalink)  
Antiguo 28/01/2004, 18:53
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 6 meses
Puntos: 0
Hasta ahorita lo que tengo echo es que me busque en tres campos pero si no le pongo una opcion que sea diferente a Cualquiera no me encuentra nada ya que busca en la base de datos en los tres campos que sean igual a cualquiera y pues no hay ningun campo con esas caracteristicas. Mi codigo esta asi:

sqlWhere = ""

IF Marca<>"" AND Procesador<>"" AND Memoria<>"" THEN
IF sqlWhere <> "" THEN sqlWhere=sqlWhere & " AND "
sqlWhere = sqlWhere & " Marca = '" & Marca & "' " & "AND" & " Procesador = '" & Procesador & "' " & "AND" & "Memoria= '" & Memoria & "' "
END IF

' Finalmente arma el SQl
strSql = "SELECT * FROM Productos WHERE Producto LIKE 'PCS' "

IF sqlWhere <> "" then strSql = strSql & " AND " & sqlWhere

Ahora lo que quiero hacer es que cuando no se lo escojas 2 opciones Marca y Memoria omita la de Procesador y solo busque dentro de memoria y Marca.

Como diablos hago esto.
__________________
Hasta la victoria Siempre.
  #7 (permalink)  
Antiguo 28/01/2004, 19:24
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
puffff Cue, traes un lio por aquí, lo único que te puedo recomendar es que veas la manera de utilizar otra estructura como el case, y es que el If anidado te va complicando la vida, si hay un if e inmediatamente otro if, quiere decir que estás pensando un poco mal, me explico:

'1era condición
Si tengo manzanas entonces
2da condición
Si tengo peras entonces

Esto te confunde, si tienes manzanas ejecutas, y lo que ejecutas es otra condición si tienes peras?
Aqui está facil resolverlo, pero en lenguaje de programación comienzas a no entender, no has ejecutado nada todavía después de la primera condición y de inmediato condicionas otra vez, hay casos específicos en los que es extrictamente necesario, pero creo que en este caso no lo es...a todo este choro, tienes que pensar bien lo que quieres preguntar:

'1era condición
Si tengo manzanas entonces
2da condición
Si tengo peras entonces

Que es exactamente lo mismo que:

Si tengo manzanas Y si tengo peras entonces
'ejecuto


sqlWhere= ""

If marca <> "" AND sqlWhere <> "" Then
Select Case marca
case "cualquiera"

case "Acer"

End Select
End If

Algo así, no se si me explico muy bien!

Salu2.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 02/02/2004, 10:34
 
Fecha de Ingreso: julio-2002
Ubicación: stgo rec
Mensajes: 438
Antigüedad: 21 años, 10 meses
Puntos: 3
Parece que es asi

Si es como entendi el codigo para generar la sql seria asi

tu quieres que cuando un campo este vacio no sea includido en la sentecia. bueno este codigo es para eso. cuenta si te sirve.


Código PHP:
sql ""
If Marca <> "" Then  sql "Marca='" Marca "' AND "
If Procesador <> "" Then  sql sql "Procesador='" Procesador "' AND "
If Memoria <> "" Then  sql sql &  "Memoria='" Memoria "' AND "
sql left(sql,len(sql)-4)
sSQL "SELECT * FROM Productos WHERE " sql 
saludos leo
__________________
Saludos
Leo
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 15:03.