Validación de Digitación

Hola Experto, a ver si me puedes ayudar con la siguiente duda:
1- Quiero validar un tex box en el cual tengo el siguiente código.
En el Procedimiento KeyPress
IF nKeyCode = 13
    IF !USED ("Centros")
        USE Centros IN 0
    ENDIF
        SELECT Centros
            SET ORDER TO Cod_Centro
            intCod_Centro=ThisForm.Txt_Cod_Centro.Value
            SEEK intCod_Centro
            IF FOUND()
                intCod_Centro=Cod_Centro
                strCentro_Desc=Desc_Centro
                ELSE
                    MESSAGEBOX('El Código de Centos:[  ' + ALLTRIM(STR(intCod_Centro)) + ' ]   NO Existe',16,'Busqueda de Centos Inscritos')
                       intCod_Centro=0
                       strCentro_Desc=''
                        ThisForm.Txt_Cod_Centro.Value=0
                        ThisForm.Txt_Desc_Centro.Value=''
                        ThisForm.Refresh
            ENDIF
Endif
Yo quiero que si el valor introducido en el Text Box es Igual a : 0 ó a alguna letra entonces que el cursor siga ahí mismo, que no pase a ningún otro text Box.
Mil Gracias.

1 Respuesta

Respuesta
1
Esto va así:
Para evitar que el usuario escriba alguna letra en un text que definas solo para que acepte números, anda a la ventana de propiedades del text, en la pestaña data, selecciona la propiedad inputmask y escribile 99999... según la longitud o caractertes numéricos que quieres que acepte. Si el código es de 6 dígitos, entonces pone 999999. También podes definir, como quieres que te los presente: 999-999 o 999,999, o 9-99-99-9... ves! Así no te va a aceptar ninguna letra... solo números!
Para evitar que quede en valor 0 o en blanco en text, anda al evento VALID y escribí algo como esto:
DO CASE
CASE  EMPTY (THISFORM.Text1.Value)
MESSAGEBOX("CODIGO INVALIDO")
RETURN 0   &&Retronamos puntero al control&&
Endcase
Y listo! Oye...
Excelente Funciona muy bien a excepción de ALGO: Te Explico...
1- Dígito un código que no es encontrado, el sistema envía el mensaje: Todo Bien, pero si en ése momento decido salir de ése módulo o Form con un CommondBotom SALIR que tiene como código en el Procedimiento Click: Thisform.Release()
No me permite salir, queda como en un ciclo hasta que se digite un código correcto.
A- Cómo puedo solucionar ésto.
Te agradezco la gentileza de siempre.
Vesss! A eso queria llegarrr! Jajajaja! Mira... "forzar" una condicion asi, es un dolor de cabeza... o puede llegar a aser un dolor de cabeza! ¿Por qué? Para lel usuario puede llegar a ser molesto el no poder salir del form hasta que llene el dato. Muchas veces los usuarios no tienen la informacion completa o les falta un papel o lo que sea. Lo mas practico en este caso, seria mas bien evitar el ingreso "a la tabla" de valores en 0 o vacios a traves del text. Podes validar mejor, una condicion que inhabilite el boton guardar si no se cumple con la condicion que el text tenga un value > 0 o NOT EMPTY! Ves! Y eso es mejor, mas practico y seguro... a lmenos eso creo yo!
Avisame cualquiercosa!
Saludos! :D
Muy Bien.
Muchas Gracias tomaré encuenta la recomendación y evaluaré la situación según el caso.
Se te agradece mucho .
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas