Validar una palabra en un TextBox

Se que esto para uds puede resultarles una pavada pero como soy novato a mi se me complica bastante. Les comento el proyecto: En un formulario muestro varias imágenes de instrumentos musicales y debajo de cada imagen agregué su TextBox correspondiente para que los alumnos puedan ingresar el nombre de la familia a la que pertencece cada instrumento, osea: cuerda, viento y aire.
La idea es que, por ejemplo, ante la imagen de una guitarra si los chicos me ponen "aire" o "viento", al presionar enter les arroje un error del tipo "INCORRECTO! SEGUÍ INTENTANDO!" y en caso de que pongan "cuerda", "MUY BIEN, TE FELICITO", y les permita pasar a otro TextBox para seguir la misma rutina con los demás instrumentos.
Espero que esté claro la idea y me puedan dar una mano.

1 Respuesta

Respuesta
1
Este ejemplo consta de 3 text
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 13 Then Exit Sub
If UCase(Text1) <> "CUERDA" Then
   MsgBox "INCORRECTO! SEGUI INTENTANTO", vbCritical, "Incorrecto"
   Text1.SetFocus
Else
   MsgBox "MUY BIEN, TE FELICITO", vbInformation, "Correcto"
   Text2.SetFocus
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii <> 13 Then Exit Sub
If UCase(Text2) <> "VIENTO" Then
   MsgBox "INCORRECTO! SEGUI INTENTANTO", vbCritical, "Incorrecto"
   Text2.SetFocus
Else
   MsgBox "MUY BIEN, TE FELICITO", vbInformation, "Correcto"
   Text3.SetFocus
End If
End Sub
Valida el text1 y el text2 para el primero la coincidencia es cuerda y el segundo es viento
Cuando presionas la tecla enter corre la validación si lo ingresado es distinto a la regla de validación te muestra el mensaje error de lo contrario si acierta, te da el mensaje de felicitacin y pasa al text siguiente.
Bueno, ve si te sirve, tal vez lo puedes adaptar
Me quede pensando tu tema y acá te presento otra opción con 3 text
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 13 Then Exit Sub
Call validar(KeyAscii, UCase(Text1), Text1.Name)
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii <> 13 Then Exit Sub
Call validar(KeyAscii, UCase(Text2), Text2.Name)
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii <> 13 Then Exit Sub
Call validar(KeyAscii, UCase(Text3), Text3.Name)
End Sub
Private Sub validar(asc As Integer, texto As String, ind As String)
Select Case ind
    Case Is = "Text1"
        If texto = "CUERDA" Then
            MsgBox "ok", vbInformation
            Text2.SetFocus
        Else
            MsgBox "no", vbCritical
            Text1.SetFocus
        End If
    Case Is = "Text2"
    If texto = "VIENTO" Then
            MsgBox "ok", vbInformation
            Text3.SetFocus
        Else
            MsgBox "no", vbCritical
            Text2.SetFocus
        End If
    Case Is = "Text3"
    If texto = "PERCUSION" Then
            MsgBox "ok", vbInformation
        Else
            MsgBox "no", vbCritical
            Text3.SetFocus
        End If
End Select
End Sub
esta vez con un select case
Te agradezco un montón la ayuda que me diste, utilicé la segunda opción, la del select case y quedo espectacular! (Gracias a vuestra ayuda claro je je). Bueno después de tanto salmearte, quisiera pedirte una última ayuda, es un pequeño detalle que me gustaría pulir:
En el mismo formulario inserte "delante" de cada imagen, un objeto OLE con su BackStyle en 0-Transparent, cargado con su sonido correspondiente, para que los chicos al clickear sobre cada imagen puedan escuchar y clasificarlos con más facilidad. El detalle que te mencionaba y me gustaría corregir, ya que no queda muy estético que digamos, es que en modo ejecución, mientras esta sonando el WMP, en la imagen aparece el icono del archivo, en este caso el wav, y rayas diagonales. Probé metiendo mano a las propiedades del Objeto, pero no pude sacarlo de ninguna manera. Te agradeciera si me das una ultima mano si sabes como se hace, desde ya muy agradecido por tu tiempo. Saludos
Con mucho gusto, solo que eso ya es otras cosa, vamos por parte, si la solución a tu problema (original esta solucionado) favor cerrar la pregunta, para lo que exponex ahora, abre otra pregunta... indica de que objeto OLE estas hablando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas