FoxPro/Visual FoxPro - busqueda

   
Vista:

busqueda

Publicado por busqueda (21 intervenciones) el 08/11/2008 03:09:29
Hola.
Tengo un formulario de representantes donde llenos todos sus datos . Y un formulario de alumno en este formulario tengo como caja de texto la cedula del representante porque es la relacion que hay en ambos formulario.

1.- Como hago en el formulario Alumno que tiene el campo CI. Representante haga un algoritmo de busqueda si lo encuentra existe y muestra todo sus datos y modificar el grid de alumno. Si no esta no debe mostrar registrado y no podra modificar lo realice con esta programacion pero no m funciona podrian decirme mi falla

*!* SELECT representante
*!* existe=.f.
*!* GO top
*!* DO WHILE !EOF() AND existe=.f.
*!* IF ALLTRIM(representante.ced_repres)==ALLTRIM(this.Value)
*!* existe=.t.
*!* MESSAGEBOX("Cedula Registrada",0+32+0,"Informacion")
*!* ELSE
*!* SKIP
*!* ENDIF
*!* ENDDO
*!* IF existe=.f.
*!* MESSAGEBOX("Cedula no Registrada",0+32+0,"Informacion")
*!* ELSE
*!* SELECT alumno
*!* *!* GO top
*!* *!* SET FILTER TO ALLTRIM(alumno.ced_repres)==ALLTRIM(this.Value)
*!* GO top
*!* *!* IF EMPTY(alumno.ced_repres)
*!* *!* SELECT alumno
*!* APPEND BLANK
*!* *REPLACE alumno.ced_repres WITH this.Value
*!* * ENDIF
*!* **endif
*!* *thisform.Refresh
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:busqueda

Publicado por kong (681 intervenciones) el 08/11/2008 03:27:59
yo opino que el orden deberia ser asi:

. seleccionas la tabla (select tabla)
. hacer un seek o un locate o un scan o el do while, para saber si existe
. hacer un IF, si existe entonces el resto del proceso

*!* SELECT representante
*!* existe=.f.
*!* GO top
locate for ALLTRIM(representante.ced_repres)==ALLTRIM(this.Value)
if not eof()
existe=.t.
endif
if existe
****hacer algo
else
****hacer otra cosa
endif
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
Imágen de perfil de Mauricio

Busqueda

Publicado por Mauricio (1368 intervenciones) el 09/11/2008 17:10:24
Roxana, para empezar crea un indice para el campo CI.Repre:
SELE representante
IF SEEK(ALLT(THIS.value))
=MESSAGEBOX("Cedula Registrada",0+32+0,"Informacion")
* Mostrar el Grid
ELSE
=MESSAGEBOX("Cedula no Registrada",0+32+0,"Informacion")
* Hacer lo necesario por NO encontrarlO
ENDIF
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:Busqueda

Publicado por roxana (21 intervenciones) el 10/11/2008 00:11:53
Gracias eres muy amable
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