Problema con UBound
Buenas.
Estoy haciendo un album fotogafico con asp y quiero que cuando se vea la primera foto el botón ANTERIOR no aparezca y que el botón SIGUIENTE tampoco cuando sea la última foto.
Estoy utilizando GetRows para crearme una tabla con la selección de fotos a mostrar. Esta selección es variable. En esta tabla además del nombre de la foto hay otra información como el año, viaje,...
Que no aparezca el botón ANTERIOR en la primera lo consigo poniendo la instrucción:
...
If j<>0 then Response.Write("<a href=""navegar.asp?id="&j-1&""">ANTERIOR</a>") end if
...
Cuando j (la fila de la tabla) vale cero, es decir que es la primera foto, no escribe ANTERIOR. Esto sí funciona.
Para el caso de que sea la última foto pongo:
...
finTabla=UBound(miTabla,2)
...
If j<>finTabla then Response.Write("<a href=""navegar.asp?id="&j+1&""">SIGUIENTE</a>") end if
...
Pero esto no funciona.
He comprobado que j y finTabla son numéricos, por si acaso uno no lo era y no se cumplía la condición.
He puesto en lugar de finTabla en el If un 5 y cuando muestra la foto 5 no muestra el botón SUIGUIENTE. Por esto parece que el If está bien.
En ningún caso se cumple, tampoco cuando estoy en la anterior o cuando se pasa una, por si pensabais que era un problema tipo -1 (es decir por empezar la tabla en 0)
He probado mas cosas, pero nada.
No entiendo porque funciona en el primer caso y en el segundo no, la única diferencia es que en el primero uso un número y en el segundo una variable que contiene un número.
No puedo poner un número porque la selección es variable, por ejemplo, año 1997, 1999 y viajes a la costa. Cada selección contiene una cantidad de fotos distinta.
Si alguien puede echarme una mano se lo agradecería.
Un saludo.
Estoy haciendo un album fotogafico con asp y quiero que cuando se vea la primera foto el botón ANTERIOR no aparezca y que el botón SIGUIENTE tampoco cuando sea la última foto.
Estoy utilizando GetRows para crearme una tabla con la selección de fotos a mostrar. Esta selección es variable. En esta tabla además del nombre de la foto hay otra información como el año, viaje,...
Que no aparezca el botón ANTERIOR en la primera lo consigo poniendo la instrucción:
...
If j<>0 then Response.Write("<a href=""navegar.asp?id="&j-1&""">ANTERIOR</a>") end if
...
Cuando j (la fila de la tabla) vale cero, es decir que es la primera foto, no escribe ANTERIOR. Esto sí funciona.
Para el caso de que sea la última foto pongo:
...
finTabla=UBound(miTabla,2)
...
If j<>finTabla then Response.Write("<a href=""navegar.asp?id="&j+1&""">SIGUIENTE</a>") end if
...
Pero esto no funciona.
He comprobado que j y finTabla son numéricos, por si acaso uno no lo era y no se cumplía la condición.
He puesto en lugar de finTabla en el If un 5 y cuando muestra la foto 5 no muestra el botón SUIGUIENTE. Por esto parece que el If está bien.
En ningún caso se cumple, tampoco cuando estoy en la anterior o cuando se pasa una, por si pensabais que era un problema tipo -1 (es decir por empezar la tabla en 0)
He probado mas cosas, pero nada.
No entiendo porque funciona en el primer caso y en el segundo no, la única diferencia es que en el primero uso un número y en el segundo una variable que contiene un número.
No puedo poner un número porque la selección es variable, por ejemplo, año 1997, 1999 y viajes a la costa. Cada selección contiene una cantidad de fotos distinta.
Si alguien puede echarme una mano se lo agradecería.
Un saludo.
Ya lo he resuelto, casi me vuelvo loco.
Parece que sí era un problema tipo -1.
Al final lo he resuelto poniendo en el if como condición: j+1<finTabla+1
Si os preguntais que por qué hago esa tontería de sumar 1 a cada lado de la operación es porque si no, no funciona. No entiendo nada.
Si pongo j<finTabla pone el link cuando está en la última. Si pongo j+1<finTabla+1 cuando está en la última no lo pone.
Alguien me puede explicar esto.
Un saludo.
Parece que sí era un problema tipo -1.
Al final lo he resuelto poniendo en el if como condición: j+1<finTabla+1
Si os preguntais que por qué hago esa tontería de sumar 1 a cada lado de la operación es porque si no, no funciona. No entiendo nada.
Si pongo j<finTabla pone el link cuando está en la última. Si pongo j+1<finTabla+1 cuando está en la última no lo pone.
Alguien me puede explicar esto.
Un saludo.
