|
1. interactivechange..
este su utiliza para las busquedas, va haciendo la busqueda letra por letra, es decir si la busqueda es por nombre, y teclas la letra e, te va poner todos los registros que inician con la letra e, aqui la busqueda es secuencial lo ideal para busquedas por nombre ó cuando no c sabe que estas buscando excactamente, y si lo que quieres es una busqueda rapida degamos por numero o nombre, lo haces con en lostfocus,, que indica que hara la pusqueda despues del enfoque o sea al salir del text.. en este se va direcctamente al registro que tecleaste... ejemplo--- en el evento interactivechange de un text. pon lo siguiente--
sele clientes
locate for clientes.nombre=alltrim(THISFORM.Text1.VALUE)
IF FOUND()
si encuentra el registro que lo muestre
endif
* aqui va ir haciendo la busqueda letra por letra,, como te decia..
y si pones lo mismo en el lostfocus
sele clientes
locate for clientes.nombre=alltrim(THISFORM.Text1.VALUE)
IF FOUND()
** mostrar registros
endif
aqui la busqueda sera exacta. y rapida pero aobviamente tienes que poner exactamente el mismo contenido del registro... encuanto a la pregunta 2.. te comente que un cursor es temporal y no puede modificarse y ni tampoco estar en memoria, digamos que te sales del sistema y vuelves a entrar el contenido de tu cursor estara en blanco tendras que volver a crearlos, ademas que no entendo muy bien tu pregunta.. pero te recomiendo que practiques los eventos interactive y lostfocus,, y ya me hagas una pregunta mas con lo que faltaba y me eplicas mas detalladamente cual es tu duda.. hasta luego estimado y espero habar sido util... emmanuel carrillo P. Colima,Mexico..
|