FoxPro/Visual FoxPro - seek - scan

 
Vista:

seek - scan

Publicado por GaTiSa (17 intervenciones) el 26/05/2006 12:31:52
Hola,

Como ya dije en su día, acabo de empezar con ésto de foxpro y no tengo ni idea de nada...
Ahora mismo tengo un problema con el SEEK y el SCAN y es que no sé utilizarlo conjuntamente, me lo explicaron varias veces, pero sigo sin entender. Por mucho que lea la ayuda de foxpro, sigo igual y tengo un montón de manuales de ésto, pero me hago un lío.

Alguna persona caritativa me explicaría como usar el SEEK y el SCAN??

Gracias por leerme y por ayudarme.

Besos!
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:seek - scan

Publicado por rafael (12 intervenciones) el 26/05/2006 13:22:01
El SEEK te sirve para buscar un determinado registro en una base de datos indexada.. si la base de datos no esta indexada no te sirve de nada usarlo, porque no vas a encontrar nada..

por ejemplo, queres buscar un codigo de algun producto dentro de una base de datos:

STORE 0 TO xproducto && Variable que vas a usar .. por ejemplo.
... GET xproducto
READ

USE <base>
SEEK xproducto
IF FOUND()
< INSTRUCCIONES>
ELSE
<INSTRUCCIONES>
ENDIF

Ahora el SCAN sirve para leer o todos los registros de la base de datos, o los registros que cumplan cierta condicion que le hayas puesto ..

USE <base>
SCAN
<podes hacer lo que sea registro por registro>
ENDSCAN

USE <base>
SCAN FOR codigo=<variable o dato>
<Solo lee los registro que cumplan determinada condicion>
ENDSCAN

La forma de como utilizarlos y sus opciones estan dentro del manual o la ayuda de VisualFox ...

Espero te ayude de algo ...
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:seek - scan

Publicado por Plinio (7841 intervenciones) el 26/05/2006 20:29:17
El Scan se usa para recorrer una tabla "completa". Por ejemplo tienes una tabla de clientes y quiere imprimir en pantalla cada nombre, haria los siguiente:

SELECT tabla_clientes
GO TOP &&Ve al primer Registro

SCAN
? nombre_cliente &&Despliega el nombre del cliente en pantalla
ENDSCAN
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
sin imagen de perfil

RE:seek - scan

Publicado por Ernesto Hernandez (4623 intervenciones) el 26/05/2006 22:54:46
El Scan se usa para recorrer una tabla "completa".

Creo que no es asi ? o estoy equivocado.?

Tengo entendido que si se puede especificar un rango de registros el la clausula FOR ...

Bueno solo es un comentario
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:seek - scan

Publicado por Plinio (7841 intervenciones) el 27/05/2006 15:31:17
Si te fijas puse la palabra "completa" entre comillas.
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:seek - scan

Publicado por GaTiSa (17 intervenciones) el 29/05/2006 09:31:23
Bueno, muchas gracias, por la ayuda, la verdad es que ahora mismo tengo las cosas un poco más claras que antes... Yo suelo utlizarlos juntos... Según me comentaron en mi empresa... Por ejemplo:

select clientes
go top
set order to tag "indice1"
seek(str(dni)+str(letradni))
scan while (clientes.dni=thisform.text1.value and clientes.letra=thisform.text2.value
&&solemos usar scan while, y me dijeron que no usara el scan for, no sé por qué
** continuación del programa

Es un código inventado, pero más o menos es lo que hacemos en mi empresa... Lo único es que no sabía el por qué de hacer el set order, el seek y el scan... pero gracias a vosotros ya lo entiendo mucho mejor.

Muchas 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