FoxPro/Visual FoxPro - Cual es la Diferentecia..??

   
Vista:

Cual es la Diferentecia..??

Publicado por LoLy (103 intervenciones) el 14/09/2009 16:18:52
Hola buenos dias... tengan todos ustedes... amigos...
saben estoy elaborando una appl para red... y deseaba preguntar cual es la diferencia en usar lo siguiente::

para abrir una tabla
USE MiTabla.dbf order to MyIndice

o usarla asi...
select mitabla.dbf
set order to myIndice.

porque yo estaba haciendo lo siguiente... desde el main principal... llamo a la siguiente funcion =AbreDatos()

FUNCTION AbreDatos
OPEN DATABASE &cRutadata.MISDATOS.DBC SHARED
Public Array abrir[3, 1]
abrir[1, 1] = "TABLA1.DBF again in 0"
abrir[2, 1] = "TABLA2.DBF again in 1"
abrir[3, 1] = "TABLA3.DBF again in 2"
for ln = 1 to 3
X=abrir[ln, 1]
USE &cRutadata.&x. SHARED
ENDFOR
ENDFUNC

Posteriormente en el INT de cada FORM hago lo siguiente
SELECT TABLA1
SET ORDER TO xclave

SELECT TABLA3
SET ORDER TO XCLAVE2

Oigo q
MI PREGUNTA ES...
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:Cual es la Diferentecia..??

Publicado por Loly (103 intervenciones) el 14/09/2009 16:25:33
NO ALCANCE A TERMINAR MI PREGUNTA...
Decia...

veo que dicen
use tabla
use in tabla

Porque ademas de Usar el SELECT para abrir las tablas lo uso tambien para crear consultas SQL

Espero me ayuden a resolver mi duda...
muchas gracias amigos...
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:Cual es la Diferentecia..??

Publicado por santiago (376 intervenciones) el 14/09/2009 23:48:32
no hay diferencia entre uno y otro, lo que pasa es que para llamar a una tabla (select mitabla), primero has tenido que invocarla por primera vez en un area de trabajo:
select 1
use mitabla index mit1,mit2 alias mitabla

de esa forma cuando llames a esta tabla solo diras:

select mitabla
set order to 1 ó set order to 2

y para que hacemos esto?????

para que cuando interactues con otras tablas, no tengas que invocar siempre desde el comienzo a mitabla.

ejemplo:
forma 1 (no buena):

sele 1
use mitabla index mit1
seek xxx
(digamos que lo encontro en el numero 54000 de 89000 en total)
sele 2
use tutabla index tut1
seek xxx
encontro datos y capturo informacion yyy para la tabla 1

sele 1
use mitabla index mit1
seek xxx (nuevamente tienes que buscar el dato xxx)
repl aaa with yyy (grabas data capturada de tabla 2)

forma 2 (buena):

sele 1
use mitabla index mit1
sele 2
use tutabla index tut1

sele 1
seek xxx
(digamos que lo encontro en el numero 54000 de 89000 en total)
sele 2
use tutabla index tut1
seek xxx
encontro datos y capturo informacion yyy para la tabla 1

sele 1
repl aaa with yyy (grabas data capturada de tabla 2 sin tener que buscar de nuevo, porque el puntero ya se habia posicionado alli)

es solo un ejemplo generico y simple, espero te sirva.
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:Cual es la Diferentecia..??

Publicado por Juan Carlos (13 intervenciones) el 15/09/2009 21:53:31
Haber Loly:

No existe ninguna diferencia, solo que estas usando un area de trabajo numerado.

Te sugiero que uses lo siguiente:

USE Arch1 INDEX Ind1 ALIAS Ar1 SHARED
USE Arch2 INDEX Ind2 ALIAS Ar2 SHARED
USE Arch3 INDEX Ind3 ALIAS Ar3 SHARED

Y asi sucesivamente

luego cuando quieras hacer una operación con un campo de una tabla haces lo siguiente:

REPLACE AR1.Campo1 with 34

Espero te ayude

Saludos.
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