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

problema con variables

Estas en el tema de problema con variables en el foro de ASP Clásico en Foros del Web. Estimados, desde ya que no sé si está esta solucion en el foro, busqué pero no encontré...no se como buscar tampoco... Mi problema es el ...
  #1 (permalink)  
Antiguo 24/02/2009, 10:42
 
Fecha de Ingreso: febrero-2008
Ubicación: Buenos Aires
Mensajes: 58
Antigüedad: 17 años, 1 mes
Puntos: 0
problema con variables

Estimados, desde ya que no sé si está esta solucion en el foro, busqué pero no encontré...no se como buscar tampoco...

Mi problema es el siguiente:

Yo tengo este codigo:
Código:
SELECT a1, a2, a3, a4, a5, a6 FROM Encuestas WHERE codisbn = '7798071449011' OR codisbn = '7798071449325'

oRst.Open Sql, oCon,3,1

Dim i, preg_1, preg_2, preg_3, preg_4, preg_5, preg_6
DO WHILE NOT oRst.EOF
	For i = 1 To 6
		If oRst("a"&i) = 1 Then
			preg_(i) = preg_(i) + 1
		End If
	Next
oRst.MoveNext
LOOP
%>
<span class="Estilo10"><% =preg_1 %></span>
<span class="Estilo10"><% =preg_2 %></span>
<span class="Estilo10"><% =preg_3 %></span>
<span class="Estilo10"><% =preg_4 %></span>
<span class="Estilo10"><% =preg_5 %></span>
<span class="Estilo10"><% =preg_6 %></span>
la verdad es que no está bien, porque no me muestra nada...

Se que el problema está a la hora de que la variable se sume 1. pero la realidad es que no se como escribir esa variable...debe ser flor de boludez...pero ni idea...:S

alguien que me pueda ayudar? desde ya muchas gracias!
  #2 (permalink)  
Antiguo 24/02/2009, 11:40
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 1 mes
Puntos: 535
Respuesta: problema con variables

preg_(i) -> eso está mal. Creo que había una forma de hacer "variable" el nombre de las variables, usando eval(), pero no la recuerdo del todo bien. Tampoco son tantos casos, así que lo podrías "hardcodear" de esta manera:

Código asp:
Ver original
  1. For i = 1 To 6
  2.         If oRst("a"&i) = 1 Then
  3.             preg_1 = preg_1 + 1
  4.             preg_2 = preg_2 + 1
  5.             preg_3 = preg_3 + 1
  6.             preg_4 = preg_4 + 1
  7.             preg_5 = preg_5 + 1
  8.             preg_6 = preg_6 + 1
  9.         End If
  10.     Next
__________________
...___...
  #3 (permalink)  
Antiguo 24/02/2009, 11:42
 
Fecha de Ingreso: febrero-2008
Ubicación: Buenos Aires
Mensajes: 58
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: problema con variables

en la tabla yo tengo 6 campos
yo quiero sumar 1 por cada vez que el campo diga 1..

de la forma que me decis, si cualquiera es 1 entonces me va a sumar 1 a todas las variables...

PD: estoy investigando el "eval()"

Gracias por la respuesta!!!
  #4 (permalink)  
Antiguo 24/02/2009, 13:48
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 1 mes
Puntos: 535
Respuesta: problema con variables

Ah, comprendí mal
Y entonces por qué no dejás que directamente se ocupe la BD de esa operación?

Algo así:

Código:
.
SELECT iif(a1=1,a1+1,a1) AS b1, iif(a2=1,a2+1,a2) AS b2, iif(a3=1,a3+1,a3) AS b3, iif(a4=1,a4+1,a4) AS b4, iif(a5=1,a5+1,a5) AS b5, iif(a6=1,a6+1,a6) AS b6 FROM Encuestas WHERE codisbn = '7798071449011' OR codisbn = '7798071449325'
.

Edit: Aunque si querés que sume 1 cuando el valor es 1, entonces querés que sea 2... así que cada "iif" se puede colocar así para ahorrarle el cálculo de 1+1: iif(aN=1,aN=2,aN)
__________________
...___...
  #5 (permalink)  
Antiguo 25/02/2009, 09:18
 
Fecha de Ingreso: febrero-2008
Ubicación: Buenos Aires
Mensajes: 58
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: problema con variables

no es mala la idea, me ahorro un par de "Do while", "For" y el "IF"

Sólo hago eso, bueno, lo pruebo y comento que pasó!!

Muchas gracias "Al Zuwaga"!!!!!
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 07:01.