Lucas Laurindo
não registrado
|
|
Postada em 02/10/2004 23:09 hs
eu quero que quando aparece o inputbox o usuario so possa digitar 0 ate 9 somente que o campo não receba letras ne caracteres especiais eu ja vi isso ,, e utilizado o ascii como faz ? como eu monto essa linha de comando
|
|
|
|
|
Postada em 03/10/2004 14:04 hs
Lucas ficaria algo parecido com isso No evento gotfocus do text coloque o seguinte comando, pois assim que o text receber o foco o inputbox já será acionado e nem precisa do comando keyascii Private Sub Text1_GotFocus() Dim ok As Boolean Dim ok2 ok = False ok2 = 0 While Not ok = True ok2 = InputBox("Digite um número de 0 a 9") If Len(Trim(ok2)) = True Then ' se o que foi digitado foi os caracteres especiais ' ou letras faça MsgBox "Caracter inválido" ElseIf ok2 < 0 Or ok2 > 9 Then 'se o número for menor que 0 e maior que 9 faça MsgBox "Digite apenas de 0 a 9" Text1.SetFocus Else ok = True End If Wend End Sub
Abraço e que DEUS te abençõe, espero poder ter te ajudado  Eu sou o Senhor, o DEUS de vocês; eu os seguro pela mão e lhes digo; Não fiquem com medo, pois eu os ajudo Isaias 41:13
|
TÓPICO EDITADO
|
|
|
|
|
Postada em 05/10/2004 11:14 hs
Eu acho o código abaixo mais fácil. Cóloque este código no evento KeyPress do campo desejado. If Chr(KeyAscii) Like "[0-9]" Or KeyAscii = vbKeyBack Then Exit Sub ElseIf KeyAscii = 13 Then 'Tecla Enter Else 'Se teclar qualquer outra tecla que não seja número, ENTER ou o TAB 'não aparecerá nada na text box KeyAscii = 0 End If Espero ter ajudado André
|
|
|
|
Postada em 05/10/2004 11:20 hs
Essa é uma outra forma, e alem de so permitir numeros já formata a data Eu utilizo esse codigo dentro do Keypress do Text Select Case KeyAscii Case 8, 48 To 57 ' BackSpace e numericos If Len(txtDtVisita) = 2 Or Len(txtDtVisita) = 5 Then txtDtVisita.Text = txtDtVisita.Text & "/" SendKeys "{End}", True End If Case Else ' o resto é travado KeyAscii = 0 End Select
DM MASTER":.
|
|
|