Access - Input Mask en InputBox´s

 
Vista:

Input Mask en InputBox´s

Publicado por Armando Ch. (93 intervenciones) el 25/08/2004 18:37:12
Hola a todos!!!
Mi pregunta es la siguiente
Yo utilizo varios InputBox´s pero necesito saber como es ke se ponen las mascaras de entrada en el codigo del inputbox ejemplo
manejo fechas y con la mascara de entrada en el campo me funciona pero quiero que me haga lo mismo pero en el inputbox que me aparesca por default __-___-__ que vendria siendo la mascara de entrada para esta fecha 17-Ago-04
o tbn esta otra
MXQFN-XXXX **la X vienen siendo numeros enteros como les digo al hacerlo en los campos no tengo dificultad pero lo necesito en los inputbox. Necesito saber con que instruccion se declarara la Input Mask en el inputBox y la sintaxis o un ejemplo Ok.
Bueno Gracias
Armando Ch.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Input Mask en InputBox´s

Publicado por Alejandro (4142 intervenciones) el 09/05/2023 22:29:26
Lamentablemente, el control `InputBox` en Access no tiene una propiedad para establecer una máscara de entrada directamente. Sin embargo, puedes utilizar una función personalizada para lograr un comportamiento similar. Aquí tienes un ejemplo de cómo podrías implementarlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function InputBoxWithMask(prompt As String, mask As String) As String
    Dim frm As Form
    Dim txtMasked As TextBox
 
    Set frm = CreateForm
    Set txtMasked = CreateControl(frm.Name, acTextBox, , , , 0, 0)
 
    txtMasked.InputMask = mask
    txtMasked.SetFocus
 
    InputBoxWithMask = Nz(txtMasked.Value, "")
 
    DoCmd.Close acForm, frm.Name
    Set txtMasked = Nothing
    Set frm = Nothing
End Function

Puedes llamar a esta función personalizada `InputBoxWithMask` en lugar de utilizar el `InputBox` estándar. Debes pasar dos argumentos: `prompt` (el mensaje a mostrar) y `mask` (la máscara de entrada deseada). La función creará un formulario temporal con un control de cuadro de texto (`TextBox`) y establecerá la máscara de entrada en ese control. Luego, obtendrá el valor ingresado por el usuario y cerrará el formulario temporal.

Aquí tienes un ejemplo de cómo usarlo:

1
2
3
4
5
6
7
8
9
Sub TestInputBoxWithMask()
    Dim result As String
 
    result = InputBoxWithMask("Ingrese una fecha:", "00-LLL-00")
    MsgBox result
 
    result = InputBoxWithMask("Ingrese un código:", "MXQFN-0000")
    MsgBox result
End Sub

Espero que esto te ayude a lograr el comportamiento deseado en los `InputBox` con máscaras de entrada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar