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

Recorrer vector, Se esperaba una constante entera

Estas en el tema de Recorrer vector, Se esperaba una constante entera en el foro de ASP Clásico en Foros del Web. Cita: dim entera entera <-- tomada del count de una consulta dim vector(entera,11) '<-- Se esperaba una constante entera si escribo redim, procede, pero no ...
  #1 (permalink)  
Antiguo 12/06/2008, 11:51
 
Fecha de Ingreso: enero-2008
Ubicación: Siempre sere tu sombra
Mensajes: 41
Antigüedad: 17 años, 3 meses
Puntos: 1
Recorrer vector, Se esperaba una constante entera



Cita:
dim entera

entera <-- tomada del count de una consulta
dim vector(entera,11) '<-- Se esperaba una constante entera

si escribo redim, procede, pero no guarda datos en las siguientes casillas del vector

Cita:
redim vector(entero,11) <-- sin dim anterior

for a=0 to entera
vector(a,0)="nombre"
for b=0 to 11
vector(a,b)=cbdl(monto)
next
next


me explicarian donde cometo el error?
algun comentario en relacion a vectores?
un link en relacion a vectores, como construirlos dinamicamente?


  #2 (permalink)  
Antiguo 12/06/2008, 12:27
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Recorrer vector, Se esperaba una constante entera

Hola hanzo_hattori_mx,

El problema radica en que para una matriz, solo puedes redimensionar el elemento externo(columnas), no el interno, al envíar una variable al elemento interno, el intérprete piensa que estás redimensionando el elemento interno por eso produce el error, en el segundo caso no envía ningún error pues está construyendo la matriz desde cero.


Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 12/06/2008, 15:05
 
Fecha de Ingreso: enero-2008
Ubicación: Siempre sere tu sombra
Mensajes: 41
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Recorrer vector, Se esperaba una constante entera

, entonces no podre guardar nada en la columna interna... es asi?
ya que si, guarda en la primera columna, pero menciona que si uso redim, no hace caso

y un ejemplo es el siguiente contenido
Código:
A=0 Año : 226139.42   A=1 Año :   A=2 Año :   A=3 Año :   A=4 Año :       B=1 Mes: 226139.42   B=1 Mes:   B=1 Mes:   B=1 Mes:   B=1 Mes:       B=2 Mes: 115000   B=2 Mes:   B=2 Mes:   B=2 Mes:   B=2 Mes:       B=3 Mes: 41775   B=3 Mes:   B=3 Mes:   B=3 Mes:   B=3 Mes:       B=4 Mes: 7000   B=4 Mes:   B=4 Mes:   B=4 Mes:   B=4 Mes:       B=5 Mes: 0   B=5 Mes:   B=5 Mes:   B=5 Mes:   B=5 Mes:       B=6 Mes: 0   B=6 Mes:   B=6 Mes:   B=6 Mes:   B=6 Mes:       B=7 Mes: 0   B=7 Mes:   B=7 Mes:   B=7 Mes:   B=7 Mes:       B=8 Mes: 0   B=8 Mes:   B=8 Mes:   B=8 Mes:   B=8 Mes:       B=9 Mes: 0   B=9 Mes:   B=9 Mes:   B=9 Mes:   B=9 Mes:       B=10 Mes: 0   B=10 Mes:   B=10 Mes:   B=10 Mes:   B=10 Mes:       B=11 Mes: 0   B=11 Mes:   B=11 Mes:   B=11 Mes:   B=11 Mes:       B=12 Mes: 0   B=12 Mes:   B=12 Mes:   B=12 Mes:   B=12 Mes:
  #4 (permalink)  
Antiguo 12/06/2008, 15:48
 
Fecha de Ingreso: enero-2008
Ubicación: Siempre sere tu sombra
Mensajes: 41
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Recorrer vector, Se esperaba una constante entera

entonces perdon por molestar pero como podria realizar esta sentencia en conjunto?
Cita:
sql="SELECT costo FROM facturas where p_fecha "&_
"between " & na & mes & "01 "&_
"and " & na & mes & "31"&_
" order by p_fecha ASC;"
las variables na y mes, son los años y meses que busco....
estos campos los determino mediante un max, min, tomado con una sentencia "select top 1", ordenado DESC, ASC, dependiendo del maximo/minimo...

en realidad he intentado realizar SUM() del campo costo, pero no se acomodarlo, por eso intente por un vector

intente "select SUM(costo) from facturas"

pero, no daba resultados, el campo costo es numerico, asi que no se que esta haciendo mal, podria ayudarme?
  #5 (permalink)  
Antiguo 12/06/2008, 16:07
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Recorrer vector, Se esperaba una constante entera

La primera vez si debe funcionar, aqui te dejo este ejemplo:

Código:
<%
Dim f, c
f = 10
c = 2

ReDim matriz(f, c)

'Response.Write(ubound(matriz,2))
'Response.End
for i = 0 to uBound(matriz)
	matriz(i,0) = "columna "& i
	matriz(i,1) = i
next
%>
<table border="1">
	<tr>
		<th>Columna 1</th>
		<th>Columna 2</th>
	</tr>
<%
for i = 0 to uBound(matriz)
	Response.Write("<tr>")
		Response.Write("<td>"&matriz(i,0)&"</td>")
		Response.Write("<td>"&matriz(i,1)&"</td>")
	Response.Write("</tr>")
next
%>
</table>
Existen otras estructuras que te ayudan a esta tarea...por ejemplo yo a lo mejor trataria de implementar alguna solución con el objeto diccionario, a lo mejor te hace la vida más amable.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 12/06/2008, 16:25
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Recorrer vector, Se esperaba una constante entera

Cita:
Iniciado por hanzo_hattori_mx Ver Mensaje
entonces perdon por molestar pero como podria realizar esta sentencia en conjunto?

las variables na y mes, son los años y meses que busco....
estos campos los determino mediante un max, min, tomado con una sentencia "select top 1", ordenado DESC, ASC, dependiendo del maximo/minimo...

en realidad he intentado realizar SUM() del campo costo, pero no se acomodarlo, por eso intente por un vector

intente "select SUM(costo) from facturas"

pero, no daba resultados, el campo costo es numerico, asi que no se que esta haciendo mal, podria ayudarme?
No habia visto este post, ahora veo que podemos hacer...

P.D. No me hables de ud que no estoy tan viejo como Myakire
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 12/06/2008, 16:48
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Respuesta: Recorrer vector, Se esperaba una constante entera

Voy de salida, pero a reserva de que pongas tus tablas, tu query y todo lo demas, esta sentencia deberia funcionar (aunque no se si te entendi del todo)

Código:
SELECT SUM(costo) FROM facturas WHERE p_fecha 
	BETWEEN
		(SELECT TOP 1 fecha FROM tabla [WHERE condiciones] ORDER BY campo ASC)
	AND
		(SELECT TOP 1 fecha FROM tabla [WHERE condiciones] ORDER BY campo DESC)
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 14:21.