Visual Basic - Porque no funciona el código de un textbox

Life is soft - evento anual de software empresarial
 
Vista:

Porque no funciona el código de un textbox

Publicado por Gabriela (13 intervenciones) el 16/11/2005 16:27:02
Hola a todos quisiera saber si alguien puede decirme .. por favor que estoy haciendo mal.. ya que necesito que en un textbox, se escriban sólo números..
En el evento keypress del mismo escribo:

if keyascci < 48 and keyascci > 57 then
keyascci=0
end if

No se si tiene que ver en algo la base de datos a donde guardo la información, ya que el campo es numérico... no se.. la verdad..no se que pasa... porque no lo toma..cuando o ejecuto pruebo escribir letras y las escribe..si alguien es tan amable y me puede ayudar a solucionar este problemita..desde ya muy agradecida....saludos a todos..
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

RE:Porque no funciona el código de un textbox

Publicado por Eli (49 intervenciones) el 16/11/2005 16:39:10
'Pon este código en el evento KeyPress
'Esto solo le permite digitar números o sea lo que este entre las comillas dobles

If InStr("0123456789", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then
KeyAscii = 0
End If

salu2 y suerte
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

RE:Porque no funciona el código de un textbox

Publicado por Eli (49 intervenciones) el 16/11/2005 16:39:42
'Pon este código en el evento KeyPress del TextBox
'Esto solo le permite digitar números o sea lo que este entre las comillas dobles

If InStr("0123456789", Chr(KeyAscii)) = 0 And KeyAscii <> 8 Then
KeyAscii = 0
End If

salu2 y suerte
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

RE:Porque no funciona el código de un textbox

Publicado por rudac (4 intervenciones) el 16/11/2005 18:47:09
En la rutina que pones, el operador lógico debe ser OR.
Si un código ASCII es menor que 48 Ó mayor que 57 ...
Por favor revisa tus apuntes de álgebra booleana. (es broma)
Ruben
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
Imágen de perfil de Daniel

RE:Porque no funciona el código de un textbox

Publicado por Daniel (360 intervenciones) el 16/11/2005 20:46:14
ESto tambien se puede hacer asi

If isnumeric(Text1.text) then
codigo si es numerico
else
msgbox("debe ingresar solo numeros")
end if
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

RE:solo numeros

Publicado por jlcastro (186 intervenciones) el 16/11/2005 20:57:47
Sub Text1_Keypress(KeyAscii As Integer)
If KeyAscii > Asc("9") Then
'KeyAscii = 8 es el retroceso o BackSpace
If KeyAscii <> 8 Then
KeyAscii = 0
End If
End If
End Sub
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

RE:solo numeros y coma

Publicado por jlcastro (186 intervenciones) el 16/11/2005 21:01:32
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 44 And (IsNumeric(Chr(KeyAscii))) = False And KeyAscii <> 8 Then
KeyAscii = 0 ' solo admite numeros y coma
Beep 'Sonido de error de entradaEnd If
End If

End Sub
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

RE:punto y coma cualquiera de los dos

Publicado por jlcastro (186 intervenciones) el 16/11/2005 21:03:44
PARA PODER INTRODUCIR EN UN TEXT EL PUNTO Y LA COMA
(CUALQUIERA DE LOS DOS)

En el formulario declara:

Dim DecimalPoint As Boolean

'Para cada Text box númerico:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

DecimalPoint = (KeyCode = vbKeyDecimal)

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If DecimalPoint Then
KeyAscii = Asc(Mid(Format(0, "0.0"), 2))
End If

End Sub
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