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

Error con getrows

Estas en el tema de Error con getrows en el foro de ASP Clásico en Foros del Web. Miren estoy recien incursionando en los getrows por un problemas de muchos registros pero me esta dando este error Microsoft VBScript runtime error '800a0009' Subscript ...
  #1 (permalink)  
Antiguo 28/04/2004, 09:39
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 23 años, 2 meses
Puntos: 2
Error con getrows

Miren estoy recien incursionando en los getrows por un problemas de muchos registros pero me esta dando este error

Microsoft VBScript runtime error '800a0009'
Subscript out of range: 'UBound'

/reporte_vdespachos_con_dpc.asp, line 71
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #2 (permalink)  
Antiguo 28/04/2004, 09:43
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
mmmhhh, nos pones un poco más de código?
Por dónde creo que va, es que estás tratando de obtener el índice máximo de un array (uBound) dónde no hay ningún array...

Trata de evaluarlo

If IsArray(arreglo) Then
count = uBound(arreglo)
End If

Algo así...

salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 28/04/2004, 10:01
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 23 años, 2 meses
Puntos: 2
esta es la linea 71

For I = 0 To UBound(miTabla,17)
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #4 (permalink)  
Antiguo 28/04/2004, 10:30
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 3 meses
Puntos: 98
Ok, estás evaluando la matriz, pero de donde sacaste ese 17? es una constante? tu sabes que efectivamente tiene 17? si no es así, considera evaluarlo con una función que te devuelva la dimensión de esa matriz.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 28/04/2004, 10:38
Avatar de xlugo2002  
Fecha de Ingreso: noviembre-2002
Ubicación: Puebla, México
Mensajes: 474
Antigüedad: 22 años, 5 meses
Puntos: 0
chekea esto

el error ke te genera es cuando el getRows() no te devuelve ningun elemento entonces la variable pos no es un array, de ahi, es ke no encuentre el subindice,

variable = r.GetRows()

por lo ke chekea:

If IsArray(variable) Then
' aca no genera el error al leer la variable
Else
' aca si genera el error al leer la variable
End If

UBound(matriz, 2)
** te devuelve el numero de lineas.**

el 2 corresponde a las lineas, es decir los registros
el 1 corresponde a las columnas es decir los nombres de los campos de tu BD

Última edición por xlugo2002; 28/04/2004 a las 10:44
  #6 (permalink)  
Antiguo 29/04/2004, 09:43
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 23 años, 2 meses
Puntos: 2
a ver si les sirve estos datos,
cuando lo probe lo hice con una base de 3 campos y asi declare los nombres

campo1 = 0 <------- este se supone que es el primer campo-----
campo2 = 1
campo3 = 2

despues el bucle para mostrar los registros quedo asi

For I = 0 To UBound(miTabla,2)
response.write mitabla(campo1,I)
next

ok

lo quise aplicar a otra base mas cotota de como 200 mil registros tonces quedo asi, la diferencia es que seleccione solo unos campos de la base, conte que numero de campo era y lo agregue

nro_orden_compra = 4
producto = 7
cantidad = 8
fecha_req_desde = 10
peso_placa = 11
job_number = 16
inv_no = 21
qty_to_ship = 27
unit_price = 28
shipped_dt = 32
search_name = 33
descripcion = 34
vtaus = 51
ctous = 52
ton = 53
pvtaus = 54
ctomt = 55
dpc = 56

la base contiene 58 campos, estará bien esto :

For I = 0 To UBound(miTabla,58)

__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #7 (permalink)  
Antiguo 29/04/2004, 10:00
Avatar de xlugo2002  
Fecha de Ingreso: noviembre-2002
Ubicación: Puebla, México
Mensajes: 474
Antigüedad: 22 años, 5 meses
Puntos: 0
chekea esto

http://www.eside.deusto.es/grupos/ge...sfctUBound.htm

chekea la sintaxis de la funcion UBound(), esto te sacará de muchas dudas.....
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:20.