DUDA PLEASE!!SOLO NUMERO Y EL 0???
DUDA PLEASE!!SOLO NUMERO Y EL 0???
Hola colega, tengo un gran problemilla ya que estoy realizando una rutina en mis textbox para que me admita solo numeros pero resulta que no me admite el numero 0 al inicio sino a partir del segundo caracter. La rutina es la siguiente:
Private Sub TXTcedula1_KeyPress(KeyAscii As Integer)
Dim strNumeros As String
strNumeros = "1234567890" & Chr(8)
If Len(TXTcedula1) = 0 And Chr(KeyAscii) = 0 Then
KeyAscii = 0
Else
If InStr(1, strNumeros, Chr(KeyAscii), vbBinaryCompare) = 0 Then
KeyAscii = 0
End If
End If
End Sub
Agradezco de tu ayuda para ver en que estoy fallando.. Gracias
Hola colega, tengo un gran problemilla ya que estoy realizando una rutina en mis textbox para que me admita solo numeros pero resulta que no me admite el numero 0 al inicio sino a partir del segundo caracter. La rutina es la siguiente:
Private Sub TXTcedula1_KeyPress(KeyAscii As Integer)
Dim strNumeros As String
strNumeros = "1234567890" & Chr(8)
If Len(TXTcedula1) = 0 And Chr(KeyAscii) = 0 Then
KeyAscii = 0
Else
If InStr(1, strNumeros, Chr(KeyAscii), vbBinaryCompare) = 0 Then
KeyAscii = 0
End If
End If
End Sub
Agradezco de tu ayuda para ver en que estoy fallando.. Gracias
El problema consiste en que cuando el el primer caracter que pulsas es el cero, se cumple la primera condición, con lo que la anulas con KeyAscii=0...
Un Saludo.
Un Saludo.
si queres podes utilizar la funcion IsNumeric, que te devuelve un true o false. Por ej.
isnumeric(1) ======> esto te devuelve True
En tu codigo pone
if IsNumeric(chr(keyascii)) = false then keyascii = 0
Antes de esa line pregunta si es backspace, o enter poruqe sino no te va a dejar salir del textbox
Saludos.
isnumeric(1) ======> esto te devuelve True
En tu codigo pone
if IsNumeric(chr(keyascii)) = false then keyascii = 0
Antes de esa line pregunta si es backspace, o enter poruqe sino no te va a dejar salir del textbox
Saludos.
