En una bd access tengo 2 controles TextBox, la mascara de entrada del segundo depende del valor del primero ¿Como hacerlo?

Tengo una bd access 2016 con 2 controles TextBox, la mascara de entrada del segundo control depende del valor del primero ¿cómo cambiar las mascaras?

3 respuestas

Respuesta
2

Con los datos que das es difícil dar una respuesta concreta. Si tengo el cuadro de texto y escribo 3

Pero si escribo 5

En este caso, en el evento Después de actualizar del cuadro de texto Texto11 le tengo puesto

Private Sub Texto11_AfterUpdate()
If Texto11 = 3 Then
Texto13.InputMask = "(###) ###-####"
ElseIf Texto11 = 5 Then
Texto13.InputMask = "00/00/0000"
End If
End Sub

¡Gracias! Julián por lo rápido y acertado de tu respuesta, me demore en responderte porque estaba haciendo algunas variaciones y todo funciono ok. Gracias desde Cuba y cuidate de la pandemia

La verdad es que ante tanto número de contagios, ya empezamos a parecer supervivientes. El problema es que no sabes si puedes arrimarte a alguien, si puedes estar en este sitio y en el otro no, etc. Esperemos que las vacunas sean eficaces.

Respuesta
1

Guillermo: Pocos datos aportas, como para acertar (al menos yo), con una respuesta válida.

Mi sugerencia es que en el Evento AfterUpdate del primero, pongas algo así como>>

If ... Then

ElseIf...

Else

End If

o un  SELECT Case...

Y apliques la máscara que necesites según el documento de Microsoft del que te adjunto el Enlace

https://docs.microsoft.com/es-es/office/vba/api/access.textbox.inputmask 

Saludos >> JTJ

Respuesta
1

Siguiendo la respuesta de Julián, prefiero  utilizar SELECT CASE:

Private Sub Texto11_AfterUpdate()
Select Case
   Case 1
      Texto13.InputMask = "(###) ###-####"
   Case 2
      Texto13.InputMask = "00/00/0000"
   Case 3
      Texto13.InputMask = .....
   Case 4
      Texto13.InputMask = .....
   Case 5
      Texto13.InputMask =....
End Select
End Sub

Ahora, en caso que tenga muchas máscaras de entrada sería conveniente almacenarlas en una tabla para seleccionarlas desde un cuadro combinado, en este caso sobraría el SELECT y quedaría algo com:

Texto13.InputMask = Me.CuadroCombinado.Column(1)

¡Gracias! Eduardo por tu rápida respuesta, interesante la opción de usar una tabla y combo donde almacenar las máscaras. Saludos desde Cuba

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas