Variables

10/08/2004 - 15:13 por diego | Informe spam
Hola

En un código como este:

legajo1 = 6622
legajo2 = 6578

for i = 1 to 2
INSERT INTO cuentacambios (idlegajo, mes , cantidad);
values ( legajo(i) , fmes1, cantidad1)
next i

no reconoce el "legajo(i)" como una variable "legajo1" y luego "legajo2",
sino que lo busca como un programa a ejecutar.
Cómo puedo hacer un bucle como este?. La idea es aplicar las mismas
instrucciones tanto al legajo 1 como al 2 sin tener que repetir el código
para cada variable.

Desde ya, muchas gracias.
Diego.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa

Preguntas similare

Leer las respuestas

#1 Jeffrey
10/08/2004 - 15:47 | Informe spam
Aqui va. Tambien se puede hacer con operador macro (&), pero me parece que
este funcionara sin dudas.

En un código como este:

legajo1 = 6622
legajo2 = 6578

for i = 1 to 2



val=EVAL("legajo"+STR(i,1))

INSERT INTO cuentacambios (idlegajo, mes , cantidad);
values ( val , fmes1, cantidad1)
next i

no reconoce el "legajo(i)" como una variable "legajo1" y luego "legajo2",
sino que lo busca como un programa a ejecutar.
Cómo puedo hacer un bucle como este?. La idea es aplicar las mismas
instrucciones tanto al legajo 1 como al 2 sin tener que repetir el código
para cada variable.

Desde ya, muchas gracias.
Diego.


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#2 Luis María Guayán
10/08/2004 - 16:03 | Informe spam
Lo debes hacer con arrays o con macrosustitución de variables:

1. Con Array
DIMENSION Legajo(2)
Legajo(1) = 6622
Legajo(2) = 6578

FOR ln = 1 TO 2
INSERT INTO CuentaCambios ;
(idLegajo) VALUES (legajo(ln))
ENDFOR

2. Con macrosustitución
Legajo1 = 6622
Legajo2 = 6578

FOR ln = 1 TO 2
lcVariable = "Legajo" + ALLTRIM(STR(ln))
INSERT INTO CuentaCambios ;
(idLegajo) VALUES (&lcVariable)
ENDFOR

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos


"diego" escribió en el mensaje
news:
Hola

En un código como este:

legajo1 = 6622
legajo2 = 6578

for i = 1 to 2
INSERT INTO cuentacambios (idlegajo, mes , cantidad);
values ( legajo(i) , fmes1, cantidad1)
next i

no reconoce el "legajo(i)" como una variable "legajo1" y luego "legajo2",
sino que lo busca como un programa a ejecutar.
Cómo puedo hacer un bucle como este?. La idea es aplicar las mismas
instrucciones tanto al legajo 1 como al 2 sin tener que repetir el código
para cada variable.

Desde ya, muchas gracias.
Diego.


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#3 diego
10/08/2004 - 23:09 | Informe spam
Luis, gracias por sacarme las papas del fuego una vez más.

Saludos desde buenos aires!.

Diego.

-
PortalFox :: Nada corre como un zorr
http://www.portalfox.co

PortalFox - NNTP Forum Gatewa
Respuesta Responder a este mensaje
#4 Jorge Mota
10/09/2004 - 08:39 | Informe spam
en el caso de dos variables no es optimo el ciclo for, pero si son muchas
variables
declaradas asi podrias intentar un ciclo como este:

legajo1 = 6622
legajo2 = 6578

for i = 1 to 2
INSERT INTO cuentacambios (idlegajo, mes , cantidad);
values ( eval("legajo"+alltrim(trans(i))) , fmes1, cantidad1)
next i

Saludos.

Jorge Mota
Microsoft Visual FoxPro MVP
Guatemala


On Tue, 10 Aug 2004 06:13:43 -0700, diego wrote:

Hola

En un código como este:

legajo1 = 6622
legajo2 = 6578

for i = 1 to 2
INSERT INTO cuentacambios (idlegajo, mes , cantidad);
values ( legajo(i) , fmes1, cantidad1)
next i

no reconoce el "legajo(i)" como una variable "legajo1" y luego "legajo2",
sino que lo busca como un programa a ejecutar.
Cómo puedo hacer un bucle como este?. La idea es aplicar las mismas
instrucciones tanto al legajo 1 como al 2 sin tener que repetir el código
para cada variable.

Desde ya, muchas gracias.
Diego.


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida