y entonces para que sirve el SetFocus????

Cristophilin
28 de Abril del 2005
Digo esto por que no puedo utilizarlo, me explico
tengo una caja de texto y si lo que contiene es falso debe volver a ubicarse en la caja texto me explico con el codigo
If LlaveAcep = .F. Then
Messagebox("Rut No Valido Desea Volver a Ingresarlo?",1+16)
ThisForm.RutUsu.Value = ""
ThisForm.RutUsu.SetFocus
EndIf

Tan simple como eso pero al momento de hacer el losfocus de la caja de texto me sale el siguiente mensaje
RutUsu es un miembre desconocido.
Si alguien puede decirme si esta bien como lo estoy usando o me de otra solucion estare muy agredecido

PD: ese maldito mensaje me tiene Idiotizado....!!!!

Manuel
28 de Abril del 2005
a) Revisa si en verdad la caja de texto se llama "RutUsu".
b) Revisa si la caja de texto depende directamente del formulario, pues podría estar dentro de un contenedor. En ese caso, tendrías que decir: ThisForm.TuContenedor.TuCaja.Value
c) Revisa si has programado en el LostFocus de dicha caja.
d) No puedes hacer SetFocus desde el Lostfocus de la misma caja

Tienes al menos dos caminos para evaluar la el valor de una caja de texto:
I.. Programando el GotFocus de la caja que sigue, según el orden de tabulación.
Entonces, fácilmente, podrás decir:
IF <TusCondiciones>
Messagebox("Rut No Valido Desea Volver a Ingresarlo?",1+16)
Thisform.RutUsu.Setfocus
ENDI
II.. Programando el valid de la caja RutUsu (Éste no tejará salir mientras no pongas un valor válido)
Entonces, será así:
1. Seguramente, tu formulario tiene un botón salir.. supón que le has llamado BotonSalir
2. Seguramente "RutUsu" es la caja de texto donde quieres evaluar el valor. Confirma si eso dice en la propiedad "Name" de dicha caja. Supón que así es.
3. Ve a la caja de texto y en el "Keypress", progama lo siguiente:
If nkeycode=27
Thisform.BotonSalir.Click &&para que puedas salir al menos con <ESC>
Endi
OJO: En lugar de BotonSalir, ponle el nombre de tu botón de salida.
4. Ve al "Valid" de la caja de texto, y programa tus condiciones, y luego agregas lo que has puesto, algo así:
IF !EMPT(ALLT(THIS.VALUE)) &&Para que puedas salir si dejas vacío el valor.
If <TusCondiciones>
Messagebox("Rut No Valido Desea Volver a Ingresarlo?",1+16)
ThisForm.Value = ""
Retu 0
EndIf
ENDI