TEXTBOX CON SOLO NUMEROS PLEASE

EDGAR
14 de Diciembre del 2004
Hola colega, necesito saber que instruccion puedo utilizar para que mi textbox acepte solo numeros pero que el primer numero pueda ser 0 ya que por ejemplo el numero que se necesita ingresar sea 0481. Agradezco de tu ayuda de antemano...

Gerardo
14 de Diciembre del 2004
aqui te mando una rutina haber si te puede ayudar

Sub agrega_ceros()

If wnumero >= 1000 Then
'De 1000 a 9999
worden = ""
Else
'De 100 a 999
If wnumero >= 100 And wnumero <= 999 Then
worden = "0"
Else
'De 10 a 99
If wnumero >= 10 And wnumero <= 99 Then
worden = "00"
Else
'De 1 a 9
worden = "000"
End If
End If
End If

End Sub

Alex
14 de Diciembre del 2004
En un modulo de clase agrega este codigo, con esta funcion puedes validar toso los tipos de datos, checalo creo que te va a servir mucho.


Public Enum TpDato
' TIPOS DE DATOS
einteger = 1 ' TIPO DE DATO INTEGER
eDOUBLE = 2 ' TIPO DE DATO DOUBLE
eCURRENCY = 3 ' TIPO DE DATO CURRENCY
estrin = 4
CADENANUM = 5 ' PARA VALIDAR EL TELEFONO
End Enum



Public Function ValidaTipoDato(ctr As Control, k As Integer, strTipo As TpDato) As Integer
Select Case UCase(strTipo)
Case 1 ' INTEGER
If IsNumeric(Chr(k)) Or k = 8 Then
ValidaTipoDato = k
Else
ValidaTipoDato = 0
End If
Case 2 ' DOUBLE
If IsNumeric(Chr(k)) Or k = 8 Or k = 46 Then
ValidaTipoDato = k
Else
ValidaTipoDato = 0
End If
Case 3 ' CURRENCY
If IsNumeric(Chr(k)) Or k = 8 Or k = 46 Then
ValidaTipoDato = k
Else
ValidaTipoDato = 0
End If
Case 4 ' STRING
If (k > 15 And k < 31) Or (k > 37) And (k < 40) Or (k > 57 And k < 65) Or (k > 90 And k < 97) Or (k > 122 And k < 209) Or (k > 209 And k < 241) Or (k > 241) Then
Beep
ValidaTipoDato = 0

Else
ValidaTipoDato = Asc(UCase$(Chr$(k)))
End If
Case 5 ' STRING
If IsNumeric(Chr(k)) Or (k = 45) Or k = 8 Then
ValidaTipoDato = k
Else
ValidaTipoDato = 0
End If
End Select

End Function


Posteriomente llamas la funcion de la siguiente forma en el evento Presskey de tu TexBox; por ejemplo.

Private Sub txtCantidad_KeyPress(KeyAscii As Integer)
KeyAscii = F.ValidaTipoDato(txtCantidad, KeyAscii, eDOUBLE)
End Sub