FoxPro/Visual FoxPro - While anidado

 
Vista:

While anidado

Publicado por Ernesto Ruiz (134 intervenciones) el 19/06/2008 19:11:18
que tal tengo una duda, no funcionan los whiles anidados?
tengo este codigo:

select VentasF1
contador = 0
do while !eof()
Contado = contador + 1
If Contador <> Recno()
* bla bla bla
EndIf
Skip
EndDo

funciona muy bien, pero cuando meto ese mismo codigo dentrro del if me marca un error en el enddo (creo), y a lo que veo no soporta los whiles anidados.

alguien me podria ayudar deseo algo como esto:
select VentasF1
contador = 0
do while !eof()
Contado = contador + 1
If Contador <> Recno()
* bla bla bla
select VentasF2
contador1 = 0
do while !eof()
Contado1 = contador1 + 1
If Contador1 <> Recno()
* bla bla bla
EndIf
Skip
EndDo

EndIf
Skip
EndDo

el error que me marca es el siguiente:
"End on File Encountered"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:While anidado

Publicado por Plinio (7841 intervenciones) el 19/06/2008 20:18:03
select VentasF1
contador = 0

do while !eof()
Contado = contador + 1
If Contador <> Recno()
* bla bla bla
select VentasF2
contador1 = 0
do while !eof()
Contado1 = contador1 + 1
If Contador1 <> Recno()
* bla bla bla
EndIf

Skip
EndDo
EndIf
select VentasF1 &&Esto es importante aqui porque en tu codigo le da el skip
&&ventasf2

Skip
EndDo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:While anidado

Publicado por Ernesto Ruiz (134 intervenciones) el 19/06/2008 23:56:31
Gracias Plinio, pero no funciono, me marco el mismo error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:While anidado

Publicado por Ernesto R. (134 intervenciones) el 20/06/2008 00:07:35
Sorry, solo me falto algo, ya funciono tal como lo pusistes.

gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:While anidado

Publicado por Ernesto Ruiz (134 intervenciones) el 20/06/2008 18:55:11
que tal Plinio, fijate que no me marca el error que salia, pero no me habia dado cuenta que en el segundo while no recorre todos los registros, solo toma el primero de la segunda tabla (segundo while) y vuelve empezar el ciclo del primer while, sabes porque pasa esto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar