Menú Principal

Clics de vista de contenido : 60274

Evitar texto en campo númerico

A veces tenemos varios campos númericos en un formulario, con los consiguientes errores si el usuario introduce texto en ellos, podemos globalizar y personalizar el mensaje de advertencia de la siguiente forma.

Private Sub Form_Error(DataErr As Integer, Response As Integer)
    On Error Resume Next

    '****************************************************************************
    'Vamos a mostrar un mensaje cuando introducimos texto en un campo númerico
    'XPA 20/5/2008
    '****************************************************************************
    Const INPUTMASK_VIOLATION = 2113
    Dim Msg As String
    If DataErr = INPUTMASK_VIOLATION Then
        Select Case Screen.ActiveControl.Name
        Case "valor1"
            Select Case strIdioma
            Case 1
                MsgBox "Introduzca un número, por favor!"
            Case 2
                MsgBox "Enter a number, please!"
            Case 3
                MsgBox "Entrez un nombre, s’il vous plaît"
            End Select


        Case "valor2"
            Select Case strIdioma
            Case 1
                MsgBox "Introduzca un número, por favor!"
            Case 2
                MsgBox "Enter a number, please!"
            Case 3
                MsgBox "Entrez un nombre, s’il vous plaît"
            End Select


        Case "valor3"
            Select Case strIdioma
            Case 1
                MsgBox "Introduzca un número, por favor!"
            Case 2
                MsgBox "Enter a number, please!"
            Case 3
                MsgBox "Entrez un nombre, s’il vous plaît"
            End Select


        Case "Valor Facial"
            Select Case strIdioma
            Case 1
                MsgBox "Introduzca un número, por favor!"
            Case 2
                MsgBox "Enter a number, please!"
            Case 3
                MsgBox "Entrez un nombre, s’il vous plaît"
            End Select
        Case "Coste"
            Select Case strIdioma
            Case 1
                MsgBox "Introduzca un número, por favor!"
            Case 2
                MsgBox "Enter a number, please!"
            Case 3
                MsgBox "Entrez un nombre, s’il vous plaît"
            End Select


        Case "Tirada"
            Select Case strIdioma
            Case 1
                MsgBox "Introduzca un número, por favor!"
            Case 2
                MsgBox "Enter a number, please!"
            Case 3
                MsgBox "Entrez un nombre, s’il vous plaît"
            End Select


        Case "ValorActual"
            Select Case strIdioma
            Case 1
                MsgBox "Introduzca un número, por favor!"
            Case 2
                MsgBox "Enter a number, please!"
            Case 3
                MsgBox "Entrez un nombre, s’il vous plaît"
            End Select
        End Select
        Response = acDataErrContinue
    End If
End Sub

Como yo tengo traducida mi aplicación en tres idiomas aparece el Case strIdioma que hay que quitar si no se tiene traducida la aplicación