Controlar en un Textbox que el valor digitado no sea 2147483647(Capacidad máxima entero largo)

Señores buenas noches, Dios los bendiga. Mi pregunta es la siguiente, Tengo un formulario llamado FrmAnticipos. Con los siguientes textbox: CmbIdte (Id del tercero, cuadro combinado), CmbConcepto (Id del concepto, cuadro combinado), TxtVranticipo (Aquí digita el valor del anticipo, es de tipo número con formato estándar). En el textbox TxtVranticipo, en la hoja de propiedades, pestaña eventos, opción, al presionar una tecla tengo el siguiente código:

Antes quiero anotar que los campos o textbox y combobox del formulario son independientes.

Private Sub TxtVranticipo_KeyPress(KeyAscii As Integer)

    Rem Este código no permite digitar letras en el textbox del anticipo

    If (KeyAscii >= 97) And (KeyAscii < 122) Or (KeyAscii >= 65) And (KeyAscii < 90) Then

        MsgBox "El campo solo acepta números. Nada de letras", vbInformation, "Digite Solo Números"

        KeyAscii = 8

    End If

End Sub

Y en la opción, al salir tengo este código:

Private Sub TxtVranticipo_Exit(Cancel As Integer)

Rem código para controlar que el valor digitado no sea <= a 0 y que no sea > 2’147.483.647

    If Me.TxtVranticipo.Value <= 0 Then

        MsgBox "El valor del anticipo no puede ser menor o igual a cero", "El valor digitado es incorrecto, por favor revise"

        Cancel = True

    Else

        If Me.TxtVranticipo.Value > 2147483647 Then

            MsgBox "El valor del anticipo no puede ser mayor que 2'147.483.647", "El valor digitado es incorrecto, por favor revise"

        End If

    End If

End Sub

El código no funciona ni si es <=0 o > 2147483647. Esto es para controlar que el programa no guarde anticipos en cero o que digite un número mayor a la capacidad del entero largo y se parta el programa. Ejemplo

Cuando digito el valor 2147483649 (así tal cual, ya que Access le da el formato) en el cuadro de texto y presiono enter, me arroja el error: Se ha producido el error 13 en tiempo de ejecución, no coinciden los tipos.

Por favor, quiero saber que estoy haciendo mal y como debo corregirlo. De antemano le doy las gracias al o a los expertos que me

Añade tu respuesta

Haz clic para o