Mmm ya veo. Según entiendo (corrígeme si me equivoco), quieres llamar un form secundario de búsqueda, buscar un valor en la tabla y que ese valor retorne al text1 de tu formulario principal para poder guardarlo. ¿Es así? Espero! :) :)
Bien. La cosa va así: la búsqueda en el form, según veo esto:
select "tabla"
locate for (tabla.campo = textbox)
hola = thisform.texto1.value
es sobre la tabla con locate for. Buena elección. Un comando sencillo, ágil y limpio. Te felicito por no caer en el error de aplicar un SET FILTER. :) No obstante, es mejor que el resultado lo presentes en algún text porque de aquí tomaremos el dato para retornar, así:
SELECT "tabla"
GO TOP
**--Buscamos
LOCATE FOR tabla.campo = textbox
**--Si hay resultados:
IF FOUND()
**--Mostramos los resultados en un text
THISFORM.Text2.Value = tabla.campo
THISFORM.Text2.Refresh
**--No hay resultados
ELSE
MESSAGEBOX("No hay resultados.")
ENDIF
**--//
Esta mejor así. Como ves, el dato a buscar lo cargamos en el text2. Bien... cuando ya tenes el resultado y es lo que buscabas, toca retornar el valor desde ese form secundario al principal. Para eso, la cosa va así:
1- En el form secundario, donde haces la búsqueda, vas a crear una nueva propiedad llamada lretval y un método llamado valorret. Esto lo podes hacer yendo al form en modo de diseño, en el menu Form están las opciones "new method", "new property".
2- En el método valorret, escribí esta linea de código:
**--Cargamos el valor a retornar (text2)
THISFORM.lretval = THISFORM.Text2.Value
**--
THISFORM.Release
**--//
3 - En el evento UNLOAD del form, coloca:
RETURN THISFORM.lretval
**--//
4 - En el form principal, en el botón donde haces click para llamar al form secundario de búsqueda, coloca un código como este:
**--
DO FORM "dirección.scx" TO RetValue
**--Verificamos que recibimos el valor
MESSAGEBOX(RetValue)
**--Asignamos el valor a un text
IF NOT EMPTY(RetValue)
THISFORM.Text1.Value = RetValue
THISFORM.Refresh
ENDIF
**--//
**--Ya podes ver el valor retornado desde el form secundario al principal y podes guardarlo o lo que sea :D
El FORM SECUNDARIO debe tener establecidas las propiedades:
**-
WindowType = 1 - Modal
ShowWindow = 1
Y ya debería funcionar! Proba paso a paso y si te da problemas me avisas! :)
Cualquier cosa, estoy a la orden!
Saludos!
Desde Managua, Nicaragua!
Ravenn :D :D :D