do while vs scan

30/09/2003 - 00:54 por Noe diego Velazquez Hernandez | Informe spam
Hola foro !!

tengo una duda dentro del scan puedo utilizar un (select 1) no pierde la
secuencia del primer archivo ?

close data
select 1
use tabla1
select 2
use tabla2

scan
num=numemp
select 1
locate for num = keynumemp
if found()
ordenes
endif
endscan








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

PortalFox - NNTP Forum Gateway

Preguntas similare

Leer las respuestas

#6 Carlos Yohn Zubiria
30/09/2003 - 14:07 | Informe spam
En 'do while ...' es conveniente usar el alias en todas partes. Te evitarás
muchos problemas posteriores:
do while !eof("mialias")
...
skip 1 in mialias
enddo

Siempre que no quieras usar scan por supuesto.

Saludos,
A.G.P.


"Ana María Bisbé York" escribió en el mensaje
news:
Hola Noe:

Gracias a la aclaración de Alex, quizás entonces entienda el asunto de tu
pregunta.

En efecto, el do while sí que te hubiera dado error si quedas en eof() en


la
tabla 1, si la búsqueda no es fructífera. Como en el do while has de hacer
skip pues sería:

do while ... && puede ser !eof() o lo que quieras
num=numemp
select 1
locate for num = keynumemp
if found()
ordenes
endif
select tabla 1
skip
enddo

Por lo que tu código corre bien, debido a diferencias que existen entre DO
WHILE y SCAN en cuanto a la forma automática en que el VFP se posiciona


en
la tabla original si utilizas SCAN. (diferencias que yo desconocía,


gracias
Noe, salí ganando con tu duda... así es la vida)

Saludos y suerte,

Ana

"Noe diego Velazquez Hernandez" escribió en el
mensaje news:
> Hola foro !!
>
> tengo una duda dentro del scan puedo utilizar un (select 1) no pierde la
> secuencia del primer archivo ?
>
> close data
> select 1
> use tabla1
> select 2
> use tabla2
>
> scan
> num=numemp
> select 1
> locate for num = keynumemp
> if found()
> ordenes
> endif
> endscan
>
>
>
>
>
>
>
>
> PortalFox :: Nada corre como un zorro
> http://www.portalfox.com
>
> PortalFox - NNTP Forum Gateway


Respuesta Responder a este mensaje
#7 Carlos A. González Lara
30/09/2003 - 19:32 | Informe spam
Ana María,
Sin duda tienes razón en que como práctica de programación en un loop
Scan...EndScan debes seleccionar el area de trabajo al entrar y al salir
del loop:
USE Tabla1 IN 0
Use Tabla2 IN 0
SCAN ALL && Trabaja sobre Tabla1
...
..
SELECT Tabla2
..
..
Select Tabla1 && ¡No es indispensable al menos en VFP7!
ENDSCAN

Obviamente en un loop Do While... Enddo sí es indispensable tener activa
la tabla que se está "barriendo"

Saludos





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

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#8 Carlos A. González Lara
30/09/2003 - 19:32 | Informe spam
Ana María,
Sin duda tienes razón en que como práctica de programación en un loop
Scan...EndScan debes seleccionar el area de trabajo al entrar y al salir
del loop:
USE Tabla1 IN 0
Use Tabla2 IN 0
SCAN ALL && Trabaja sobre Tabla1
...
..
SELECT Tabla2
..
..
Select Tabla1 && ¡No es indispensable al menos en VFP7!
ENDSCAN

Obviamente en un loop Do While... Enddo sí es indispensable tener activa
la tabla que se está "barriendo"

Saludos





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

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
#9 Alex Feldstein [MVP]
30/09/2003 - 23:32 | Informe spam
On Tue, 30 Sep 2003 13:16:53 +0200, "Carlos Yohn Zubiria"
wrote:

¿Por qué ha desaparecido la respuesta de ANA a este mensaje?



Pues yo la veo sin problemas. No ha 'desaparecido' (en mi caso al
menos).

En el mensaje
Ana dice:
-
Alex:

La verdad es que estaba convencida de lo contrario. Para mí la única
diferencia entre estos comandos estaba en el skip automático que
realiza el
scan.
He mirado hasta en las ayudas y en VFP8 se dice explícitamente; pero
en el
VFP6 no y fue el que siempre utilicé.

Menos mal que siempre uno de ustedes está atento y "ataja" los
despistes. Es
increible lo que se aprende desde aquí. Muy agradecida como siempre,

Ana
-


Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(Address scrambled with ROT-13)
How To make good Newsgroups posts
http://dts-l.org/goodpost.htm
RFC 1855: Netiquette Guidelines
http://www.dtcc.edu/cs/rfc1855.html
How To Ask Questions The Smart Way
http://www.catb.org/~esr/faqs/smart-questions.html
Cómo hacer preguntas de manera inteligente:
http://www.sindominio.net/ayuda/pre...entes.html
Respuesta Responder a este mensaje
#10 Noe diego Velazquez Hernandez
01/10/2003 - 00:20 | Informe spam
Hola Ana !

lo que deseo es que recorra todo el archivo(tabla2), comprobe que con DO
WHILE antes de el skip debo seleccionar otra ves la tabla2 , con SCAN no
es necesario seleccionarla otra ves no pierde la secuencia de la tabla2.
pero no utilizare ninguna de las dos con SELECT-SQL fue mas rapido y menos
codigo GRACIAS


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

PortalFox - NNTP Forum Gateway
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida