Ayuda para implementar función de búsqueda utilizando locate en visual fox pro

Tengo una super duda con el uso del seek... Necesito hacer una búsqueda y utilizando el locate funciona perfectamente pero cuando uso el seek no me encuentra el registro ya probé todas las formas que yo creo que son correctas.. Pues apenas estoy emepezandoa programar en vfp... Ojala pudieran ayudarme...
tengo una tabla que se llama contraseñas el formulario dbe permitirme entrar conuna contraseña... Enctonces lo k hice fue en el formulario poner dos cajas de texto, una donde el usuario pone su contraseña y elotro donde me debe de arrojar el nombre de la persona al que corresponde la contraseña bueno al cargar el formulario estoy indexando la tabla con el
select contraseñas(que es mi tabla)
set order to tag contraseña (que es mi indice)
Los cuadros de texto se llaman pasw(donde se introduce el password) y nombre(donde arroja el nombre del usuario al que pertenece la contraseña)
Luego en el cuadro de texto donde pongo la contraseña en la opción de valid.. Puse el siguiente código
locate for thisform.pasw. Value=contraseña
     ? Chr(7)
      wait window "Clave de usuario inexistente" nowait at 5,80
   else
 wait window "Bienvenido" nowait at 5,80
      scatter memvar
      thisform.nombre.value=nombre
  endif
y si me lo hace pero si lo kiero hacer con seek como le tengo que hacer por que no me sale!!!! Ya intente de todasla formas que se me ocurren.. Otra cosa mas me pudieran explicar el uso del control source.. Cuando se utiliza y como funciona aradeceria muhisisisismo la ayuda de vdd.por que es unproyecto que tego que hacer y no puedoo
Respuesta
1
Al escribi tu pregunta has cometido un error
porque esta Linea NO ES CORRECTA
locate for thisform.pasw.value=contraseña
la forma correcta seria:
locate for (NombredelCampo)=upper(trim(thisform.pasw.value))
No importa, prueba del siguiente modo:
select contraseñas
SET ORDER TO TAG contraseña
SEEK UPPER(TRIM(thisform.pasw.value))
IF !FOUND()
wait window nowait 'La contraseña no es correcta'
return 0
ELSE
scatter memvar
*LA VARIABLE DE MEMORIA CREADA POR SCATTER MEMVAR SE LLAMA M.NOMBRE
thisform.nombre.value=m.nombre 
thisform.REFRESH && NUNCA TE OLVIDES DE ACTUALIZAR TU FORM !!
Endif

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas