cuadro de texto controlsource
Si necesitas o quieres utilizar ControlSource, puedes crear una propiedad del form. Para el caso, solo sería necesario si la búsqueda se realiza fuera del textbox, o si necesitas que el valor perdure hasta el Unload del form.
[Init]
Addproperty(thisform,"propBusqueda","")
Thisform.Text1.ControlSource = "Thisform.PropBusqueda"
[Método / Botón de Búsqueda]
se utiliza thisform.propBusqueda
Si encuentra lo buscado
Thisform.PropBusqueda = Tabla.Campo
Thisform.Text1.refresh
Nota: Si la búsqueda es en el Valid Event del textbox, no debes usar la propiedad porque estará desactualizada.
Desde el GotFocus y hasta el LostFocus, la referencia del valor debe ser siempre This.value.
Alternativmente, puedes hacer la búsqueda directamente en el evento Valid del textbox
[Valid Event]
This.value = alltrim(this.value)
IF NOT EMPTY(this.value)
* Busqueda con This.Value
Si No encuentra
MessageBox( This.value +" No encontrado! ") && aviso
This.Value = "" && limpiar el valor
RETURN 0 && reenfocar el objeto
&& Si tiene que ir a otro objeto con foco: RETURN Thisform.TalObjeto
ELSE
this.value = Tabla.Campo && sigue hacia el LostFocus
endif
ENDIF
Dentro del evento Valid o de sus métodos o procedure dependientes, no puedes utilizar SETFOCUS()