Validación Múltiple en Varios TextBox

Hola Experto.
Quisiera favor me orientes para resolver el siguiente problema:
1 - Tengo los siguientes TextBox asociados a su respectiva variable:
Txt_Clase (intClase), Txt_SubClase(intSubClase), Txt_Grupo(intGrupo),Txt_Prod(intProd), Txt_Desc_Prod(strProd)
2- Tengo una Tabla llamada Productos la cuál tiene los siguientes campos
Cod_Clase,Cod_SubClase,Cod_Grupo,Cod_Prod,Desc_Prod
3- Por defecto quiero que los siguientes campos tengan el siguiente valor: Txt_Clase=2, Txt_SubClase=20, Txt_Grupo=10. (Que no se tengan que digitar ésos campos)
4- Cuando llegue al Txt_Prod y digitar un código y dar Enter Entonces que me Busque en la Tabla Productos el Código que cumpla con todos ésos campos y me despliegue en Txt_Desc_Prod La descripción del Producto.
Entonces la Cadena de Múltiples Códigos de Validación debe quedar de la siguiente Manera:
Ejemplo: 2-20-10-1110
Cuando tenga digitado el código anterior entonces que me despliegue la descripción del producto que cumpla con cada uno de ésos campos.
Le Agradezco mucho me puedas colaborar y de antemano Mil Gracias.

1 Respuesta

Respuesta
1
Explicame mejor el punto 4. que no comprendo muy bien! Por faa! Para poder ayudarte! :)
Muy Bien Gracias, va de nuevo.
4- Tengo en 4 TextBox: Txt_Clase , Txt_SubClase, Txt_Grupo,Txt_Prod, Txt_Desc_Prod.
4.1 - El Primero me va a capturar solamente 1 Carácter Numérico: (Doy "Enter"y pasa al segundo Text_Box)
4.2- El Segundo y Tercero me van a capturar 2 Caracteres Numéricos.(Doy "Enter" en cada uno de ellos y me pasan al tercer y cuarto Text_Box respectivamente)
4.3 -EL Cuarto TextBox me va a capturar 4 Caracteres numéricos.
4.3.1-Cuando doy "Enter " en éste Text_Box me va a evaluar en la Tabla PRODUCTOS los datos de los 4 TextBox, entonces si yo Tengo los siguientes valores en los Text_Box:
Txt_Clase: 2
Txt_SubClase: 20
Txt_Grupo: 10
Txt_Prod: 1110
(Quiere decir que tengo en conjunto el siguiente valor por separado: 2-20-10-1110)
4.3.2- Al presionar "Enter" en el TextBox: Txt_Prod; Si existe la Clase:2, SubClase:20, Grupo:10 y Prod: 1110 me va a desplegar la Descripción del Producto en el TextBox:Txt_Desc_Prod
------- Txt_Desc_Prod: "Cuaderno de Resorte"
Nota: Todo ésto debido a que Existen Diferentes: Clase, SubClase, Grupo y Prod, por defecto quiero que aparezcan los siguientes valores en los siguientes TextBox (debido a que son los más utilizados): Txt_Clase: 2, Txt_SubClase: 20
Muchas Gracias Nuevamente y espero haberme explicado ésta vez.
Ohhh yaa! Entiendo. Kieres validar una cadena de codigos subdividida en 4 grupos: clase, subclase, grupo, producto. Es refacil! Pon atencion!
Trabajemos con tus objetos.
Tabla: productos
Campos: clase(numeric), subclase (n), grupo(n), producto (n), descripción (carácter).
1. En el form, ubica los siguientes controles. 5 texts en el siguiente orden: Txt_Clase, Txt_SubClase, Txt_Grupo, Txt_Prod, TxtDescripcion. Ademas, un botón (salir). Ponles el formato que tu quieras.
2. En el entorno de datos del form, agrega la tabla productos.
3. No enlaces ningún campo a ningún text, ¿Ok?!
4. Establece la propiedad readonly en .T. solo para el Txtdescripcion, ok!
5. En el VALID del TxtProducto, copia un código similar a este:
SELECT productos
LOCATE FOR clase = VAL(THISFORM.xt_Clase.Value) AND subclase = VAL(THISFORM.TTxt_SubClase.Value) AND grupo = VAL(THISFORM.Txt_Grupo.Value) AND producto = Val(THISFORM.Txt_Prod.Value)
IF FOUND()
THISFORM.TxtDescripcion.Value = descripcion
ELSE 
         MESSAGEBOX("El producto no esta registrado en sistema.", 48)
Endif
Con este código, validas que los valores introducidos en los textos coincidan con los datos en los campos respectivos. De ser encotnrados con LOCATE FOR, entonces, se muestra el valor del campo descripción en el text des., haciendo referencia al registro correcto. Vesss que fácil! Lo acabo de hacer para comprobar y funciona 100%! Si el producto no se encuentra, te manda el mesaje de no registrado!
6. Guarda y ejecuta! 
Asi de facil!
Hola Raven.
El algoritmo ha funcionado de maravilla, sin embargo solo una situación:
Cómo hago para que el los TextBox siguientes aparezcan desde el inicio los siguientes valores (que no se tengan que digitar), dado que esa clase y esa subclase son las más utilizadas.
Txt_Clase: 2
Txt_SubClase: 20
Te agradezco me puedas ayudar!
En el Evento Init de tu form, coloca un código como el siguiente:
THISFORM.Txt_Clase.Value = "2"
THISFORM.Txt_Subclase = "20"
Asu cuando inicies tu form, automáticamente los valores de los textos serán 2 y 20, respectivamente! Ves que fácil! Je je!
Tip. SI quieres que el puntero se estacione directamente en ek text que sigue, para que así "agilices" un poco la entrada de datos, podes poner algo así, en el mismo evento, debajo de las lineas anteriores:
THISFORM.Txt_Grupo.SetFocus
Así te ahorras tiempo! :D
Saludos!
A tus ordenes!
Ravenn! :D :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas