Duda instruccion if mid para mascara de entrada

He encontrado esta solución relativa a mi problema

Private Sub Codigo_Producto_GotFocus()

 Me.Codigo_Producto.Value = Codigo_Producto

If Mid(Me.Codigo_Producto.Value, 1, 1) = 6 Then

 Me.Codigo_Producto.InputMask = "9999999999"

Else

Me.Codigo_Producto.InputMask = "99999999"

End If

End Sub

El problema lo tengo que los códigos no empiezan por 6, si no por 06.

1 Respuesta

Respuesta
2

Vamos a ver, creo que no lo he entendido. Luego te digo el porqué. Al ser 06 está claro que es texto, por tanto tendrás que contar con dos dígitos

Mid(Me.Codigo_Producto.Value, 1, 2) = "06" Then

Te decía que no lo entiendo porque una máscara de entrada es una forma "cómoda" de limitar los datos que entran. Es decir, que cuando vas a escribir un dato sigues las pautas de la máscara de entrada. Pero tu ya le estás diciendo que

Me.Codigo_Producto.Value = Codigo_Producto

Por tanto ya no vas a escribir nada. Si por ejemplo, codigo_producto fuera 0699999, ya le estás diciendo que el control Me. Codigo_producto sea igual a el. Entonces ¿Para qué sirve la máscara de entrada?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas