FoxPro/Visual FoxPro - Urgente. Estoy atorado.

 
Vista:

Urgente. Estoy atorado.

Publicado por José (1 intervención) el 28/10/2000 00:00:00
Por favor, necesito conocer la forma para validar la entrada de datos por medio de una clave. Por ejemplo; Tengo que capturar registros de una persona y esta persona tiene una clave, pero quiero que al dar la clave me indique si existe o no existe. Por favor ayudenme.
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:Urgente. Estoy atorado.

Publicado por Marco (28 intervenciones) el 28/10/2000 00:00:00
El codigo seria el siguiente

SELECT <nombre de la tabla> o USE <nombre de la tabla>
SEEK <clave a buscar>

pero si no esta indexada por la clave usa entonces lo siguiente:

LOCATE FOR [NOMBRE DEL CAMPO (CLAVE)] = [clave a dar de alta]
If FOUND()
WAIT WINDOW "Clave ya existe"
Else
Append Blank
Replace....
EndIf

Y asi das de alta los datos de las personas...
Espero haber sido de utilidad...
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:Urgente. Estoy atorado.

Publicado por el_eudo (3 intervenciones) el 18/11/2000 00:00:00
el comando locate es bueno para esto pero es secuencial, de esta manera si tu base de datos es muy extensa puede volverse lenta la busqueda...

si la clave es un indice (deberia, si no, colocaselo) simplemente ordenala por el indice

set order to clave

luego busca...

seek thisform.text1.value (suponiendo que es aqui donde colocas la clave a buscar...)

if found()
=messagebox ("si existe...")
else
=messagebox("no existe...")
endif

suerte....
el_eudo
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:Urgente. Estoy atorado.

Publicado por Willington (34 intervenciones) el 15/12/2000 00:00:00
Hola amigo...

Hay varias formas de Hacerlo:

1. Indexando una tabla, que me parece a mi es el mas rapido.

se debe indexar la tabla, es decir, debe agregar un indice en la estructura. el indice debe ser del mismo tipo y tamaño de lo que usted quiere buscar.
por ejemplo si busca una clave que se esta almacenando en un campo llamado password de 20 caracteres, entonces debe indexar este campo en la estructura y colocarle un nombre, por ejemplo clavecita.

Use Claves &&la tabla se llama claves
set order to clavecita
cl=Thisform.text1.value &&control se llama text1
Seek alltrim(cl)
If found()
* ....encontro la clave
Else
*No encontro la clave
Endif

este metodo es el mas rapido,pero siempre mustra la primera clave coincidente.


2. utilizando una busqueda secuencial, pero es lento si existen muchos datos

esto es con la funcion locate

use claves alias clav
cl=Thisform.text1.value &&control se llama text1
locate for alltrim(clav.clave)=alltrim(cl)
busca secuencialmente junto con la instruccion Continue.(metodo lento cuando hay muchos datos)


3. Por medio de un filtro

es tambien muy lento cuando existen muchos datos, pero es util si usted necesita encerrar todos los datos que tengan la misma clave

use claves
cl=Thisform.text1.value &&control se llama text1
Set filter to alltrim(clave)=alltrim(cl)
brow

Espero que te sirva de ayuda


Willington rincon
[email protected]
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