Come posso "Vincolare" l'utente a scrivere solo Cifre in una textbox o combobox?
ossia, non lasciar alcuna possibilità di digitare lettere o caratteri speciali (tranne la virgola)...
Come posso "Vincolare" l'utente a scrivere solo Cifre in una textbox o combobox?
ossia, non lasciar alcuna possibilità di digitare lettere o caratteri speciali (tranne la virgola)...
codice:Private Sub Text1_KeyPress(KeyAscii As Integer) ' input numerico If (((KeyAscii < 48) Or (KeyAscii > 57)) _ And ((KeyAscii <> 13) _ And (KeyAscii <> 8) _ And (KeyAscii <> 188) _ And (KeyAscii <> 46) _ And (KeyAscii <> 44) _ )) Then KeyAscii = 0 End If End Sub![]()
Ciao Folcus,
una soluzione potrebbe essere questa:
codice:' * Gestione dei dati digitati riguardanti il prezzo unitario Private Sub txtPrezzoUnitario_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 0 To 31, 44, 46, 48 To 57 ' Caratteri di controllo, virgola, punto e numerici ' dati accettati Exit Sub Case Else KeyAscii = 0 End Select End Sub![]()
Giulio C. - Roma
dovrebbe anke esserci la funzione Isnumeric ke può fare al caso tuo...poi devi fare l'eccezione x la virgola...
secondo me le soluzioni proposte non sono ottimali
l'utente potrebbe non capire il motivo per cui non riesce a digitare
utilizza la funzione isnumeric implementando il controllo della virgola
e se non inserisce numeri o virgola fai comparire un messaggio a video che chiarisca l'errore
per quanto riguarda la virgola controlla anche che non ne inserisca più di una
prude il dito, lui sdraiato
ha giocato a guardie e ladri col ladro sbagliato
posto un mio vekkio codice ke a parere di altre persone è ok.
codice:Private Sub text1_change() Dim txtlen As Double On Error Resume Next If Not IsNumeric(Text1.Text) Then txtlen = Len(Text1.Text) - 1 Text1.Text = Mid(Text1.Text, 1, txtlen) Text1.SelStart = txtlen + 1 End If End Sub![]()
vekkio 3d
Perfetto, grazie mille per i suggerimenti.