Hacer un ciclo descendente (de 10 a 1)

Bien pues tengo lo siguiente, quiero llenar un cursor con los años 10 antes del actual y 10 años después del actual entonces hago lo siguiente:
create cursor Anos ( Ano I(4) )
for i = 10 to 1
    nAno = year(thisform.FechaHoraServidor()) - i
    insert into Anos (Ano) values (nAno)
endfor
*--Inserto el año actual
insert into Anos (Ano) values (year(thisform.FechaHoraServidor()))
for i = 1 to 10
    nAno = year(thisform.FechaHoraServidor()) + i
    insert into Anos (Ano) values (nAno)
endfor
pero el primer for me lo brinca, es decir con el debugger llego a la línea:
for i = 10 to 1
y listo se sigue hasta:
insert into Anos (Ano) values (year(thisform.FechaHoraServidor()))
Por lo que solo llena:
2010
2011
2012
.
.
.
¿Alguien me puede ayudar?
muuuuuuuuchas gracias
Respuesta
1
Me parece que tienes un error (omisión step) en el primer bucle:
for i= 10 to 1 step -1
    Wait windows alltrim(str(i))
Endfor
Si incluyes la cláusula step con un valor negativo el contador decrecerá, si omites la clausula step el contador se incrementará en 1 por defecto, entonces tu sentencia for i = 10 to 1 es imposible ya que i se inicializa con 10 y evalúa el segundo parámetro, que es menor, entonces nunca entrará al bucle.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas