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

If que no comprueba bien

Estas en el tema de If que no comprueba bien en el foro de ASP Clásico en Foros del Web. Le llevo dando vueltas mucho tiempo y no lo consigo, a ver alguien sabe porque puede ser esto: Cuando hago esta comprobación: Código: ces = ...
  #1 (permalink)  
Antiguo 03/10/2003, 04:14
 
Fecha de Ingreso: julio-2003
Mensajes: 97
Antigüedad: 20 años, 10 meses
Puntos: 0
If que no comprueba bien

Le llevo dando vueltas mucho tiempo y no lo consigo, a ver alguien sabe porque puede ser esto:

Cuando hago esta comprobación:

Código:
ces = 1
	DO UNTIL va.EOF
		If CInt(va("CCesta")) = ces then
			existe="si"
			EXIT DO
		else
			existe="no"
		end if
		va.MoveNext
	Loop
	If existe = "si" then
		Response.write("<a href='contenido.asp?cesta=28'><img border='0' src='imagenes/rojo.jpg'></a>")
	else
		Response.write("<img src='imagenes/gris.jpg'>")
	end if
Lo hace bien y me da una respusta correcta, pero si uso un bucle FOR para que compruebe del 1 al 100, da en todos que no cuando hay mucho que deberia dar si (la variable existe). lo hago así:

Código:
For ces = 1 to 100
	DO UNTIL va.EOF
		If CInt(va("CCesta")) = ces then
			existe="si"
			EXIT DO
		else
			existe="no"
		end if
		va.MoveNext
	Loop
	If existe = "si" then
		Response.write("<a href='contenido.asp?cesta=28'><img border='0' src='imagenes/rojo.jpg'></a>")
	else
		Response.write("<img src='imagenes/gris.jpg'>")
	end if
next
Es que no entiendo porque no me sale... he probado tb con while y nada, he escrito el resultado de ces en las 100 vueltas y lo hace bien, entonces, yo creo que falla el IF
  #2 (permalink)  
Antiguo 03/10/2003, 04:40
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 3 meses
Puntos: 2
Con ces = 1 recorres el recordset de valores por primera vez y lo dejas apuntando al final. Yo creo que te falla por que cuando lo haces para ces=2 y sucesivos no has vuelto a situar el cursor que recorre el recordser al inicio.
Añade estas lineas entes del bucle Do...Loop y creo que te irá bien

Código:
If not va.EOf Then
   va.movefirst
End if

DO UNTIL va.EOF
...
Loop
Un saludo
Txarly
__________________
¿Por qué Uri Geller doblaba cucharas?
  #3 (permalink)  
Antiguo 03/10/2003, 05:22
 
Fecha de Ingreso: julio-2003
Mensajes: 97
Antigüedad: 20 años, 10 meses
Puntos: 0
Oooohhh!... genial, era eso!!... mil gracias tio...

Bueno, simplemente decir que lo he puesto sin comprobar si estaba al final o no, xq si no, no iba, asi que he puesto directamente va.MoveFirst y listo...

Mil 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 14:24.