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

Redim preserve error

Estas en el tema de Redim preserve error en el foro de ASP Clásico en Foros del Web. Estoy intentado cambiar la dimension de un array de dos dimensiones y me da este error : "El subíndice está fuera del intervalo". El código ...
  #1 (permalink)  
Antiguo 28/06/2006, 12:02
 
Fecha de Ingreso: junio-2002
Mensajes: 93
Antigüedad: 22 años
Puntos: 0
Redim preserve error

Estoy intentado cambiar la dimension de un array de dos dimensiones y me da este error : "El subíndice está fuera del intervalo".

El código es:
Código PHP:
ReDim Preserve registros(0,total
Alguien sabe que pude estar pasando?.
el array lo creo así:
Código PHP:
registros rs.GetRows 
Un saludo
Iñaki
  #2 (permalink)  
Antiguo 28/06/2006, 12:09
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Hola kaki,

Primeramente un array solo podrá ser redimensionado en su elemento externo(columnas), ahora, la verdad siempre me ha costado un poco de trabajo pensar en el arreglo generado por el método getrows, pero según lo entiendo, no es una matriz como la que estás tratando de hacer:

registros(filas, columnas)

Lo que es en realidad, es un arreglo bidimensional es decir, tiene la siguiente estructura, según yo:

|{columna1|columna2|columna3}|
|{columna1|columna2|columna3}|

Donde cada pipe(|) representa un índice en el arreglo, si te fijas, tenemos un arreglo "principal", separado por saltos de líneas, y un arreglo dentro de cada índice de este arreglo principal.

Conclusión: Si no estoy equivocado, estás tratando de trabajar con estructuras diferentes, ahora, me surge la duda de por qué quieres hacer esto?

Podrías tal vez trabajar tu recordset con el método Append para agregar columnas/filas, y ya después llamar al método getRows.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 28/06/2006, 15:26
 
Fecha de Ingreso: junio-2002
Mensajes: 93
Antigüedad: 22 años
Puntos: 0
Bien lo que estoy haciendo es mostrar unos registros aleatoriamente.

Para ello he tomado como base una solución que se daba en este post
Ahí parecía que les funcionó.
Solo he hecho una pequeña mejora, pero no consigo redimensionar el array.
Si comento la linea donde hago el redim , funciona correctamente , pero no me elimina los registros mostrados y me aparecen duplicados.

Un saludo
Kaki
  #4 (permalink)  
Antiguo 28/06/2006, 15:52
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Existen otros métodos para hacer lo que te propones, no se que base de datos estás utilizando:

MS SQL = ORDER BY NEWID()
MySQL = ORDER BY RAND()

Para Access hace poco AZ puso unos links me parece, a lo mejor los tiene aún por ahí.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 29/06/2006, 05:57
 
Fecha de Ingreso: junio-2002
Mensajes: 93
Antigüedad: 22 años
Puntos: 0
Bueno para resolverlo he hecho lo siguiente:
Código PHP:
Redim preserve registros(numCampos,total
Ahora ya funciona, la variable numCampos contiene el numero de campos que traes en la consulta.

Un saludo
Iñaki.
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 01:48.