Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    354

    Vincolare a digitare solo cifre...come?

    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)...

  2. #2
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    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

  3. #3
    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

  4. #4
    dovrebbe anke esserci la funzione Isnumeric ke può fare al caso tuo...poi devi fare l'eccezione x la virgola...

  5. #5
    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

  6. #6
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    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

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    354
    Perfetto, grazie mille per i suggerimenti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.