Impedire l'inserimento di "/"

di scooter il
12 risposte

Buongiorno a tutti

In un campo di una form dovrei impedire l'inserimento del carattere "/" e del carattere ";"

mi date qualche info?

grazie mille 

Andrea

12 Risposte

  • Oppure controli una sola volta tutto il contenuto segnalando la presenza di caratteri non consentiti

    In ogni caso mi sembra abbastanza scontato cosa tu possa provare a fare

  • Grazie delle risposte....

    non voglio codice pronto ma degli spunti ..... come posso ad esempio controllare il contenuto di un campo ?

    grazie

  • Ciao, quelli sopra erano degli spunti.

    Prova a creare l'evento KeyPress e inserisci il controllo con KeyAscii come da documentazione già fornita.

    Se i caratteri corrispondono, a quelli che vuoi escludere dall'input, allora elimini tale inserimento impostando :

    KeyAscii = 0

    Tutto qua.

  • Mi sembra che By65Franco proponga una soluzione diretta. Anche

    07/02/2025 - oregon ha scritto:

    Oppure controlli una sola volta tutto il contenuto segnalando la presenza di caratteri non consentiti

    non è malvagia. Per esempio, sfruttando l'evento "Dopo aggiornamento" (o "Prima di aggiornamento"?), potresti analizzare la stringa, per esempio con la funzione InStr e se vi sono i caratteri proibiti, puoi lanciare un MsgBox di avviso.

  • Non vuoi codice ma continui a domandare come si fa nonostante ti sia stato detto?

    Usa delle If e Asci nell'evento che è stato suggerito da Franco oppure delle If con Mid per controllare carattere per carattere prima di utilizzare tutto il dato.

    Manca solo il codice (che poi sono poche semplici linee)

    Chiarisci che intendi con "campo" ... una  casella di testo o un dato parte già presente in un record?

    P.S. Intendi un campo parte di un record o una casella di testo?

  • 07/02/2025 - oregon ha scritto:

    Non vuoi codice ma continui a domandare come si fa nonostante ti sia stato detto?

    Usa delle If e Asci nell'evento che è stato suggerito da Franco oppure delle If con Mid per controllare carattere per carattere prima di utilizzare tutto il dato.

    Manca solo il codice (che poi sono poche semplici linee)

    Chiarisci che intendi con "campo" ... una  casella di testo o un dato parte già presente in un record?

    P.S. Intendi un campo parte di un record o una casella di testo?

    mi interessa su nuovi record, per impedirne l'inserimento errato.

    il campo "testo" è su una maschera

    grazie

  • 07/02/2025 - scooter ha scritto:

    Grazie delle risposte....

    non voglio codice pronto ma degli spunti ..... come posso ad esempio controllare il contenuto di un campo ?

    grazie

    "..non voglio codice pronto ma degli spunti .."  siamo proprio diversi ehhh   :)

    Puoi usare l'evento KeyPress della textbox e ci metti un bel        If Chr(KeyAscii) = "/" Then KeyAscii = 0  

    Oppure l'equivalente ma solo per veri uomini (nel senso che funziona, e' piu' efficiente, ma non si capisce niente)   If KeyAscii = 47 Then KeyAscii = 0

    Oppure puoi usare l'evento AfterUpdate sempre della textbox e ci metti       TextBox1.Text = Replace(TextBox1.Text, "/", "")

  • 08/02/2025 - amorosik ha scritto:

    Oppure l'equivalente ma solo per veri uomini (nel senso che funziona, e' piu' efficiente, ma non si capisce niente)   If KeyAscii = 47 Then KeyAscii = 0

    Ciao, 

    allora si devi passare meglio il codice, altrimenti fa più confusione che mai visto che è palese che non conosca nessun approccio in tal senso e di Info che richiedeva ne ha ricevute più di una e tutte valide...

    ' KEY PRESS - CHECK KEY ASCII
    Private Sub YourTexBox_KeyPress(KeyAscii As Integer)
        ' check char "/" (47) or ";" (59)
        If KeyAscii = Asc("/") Or KeyAscii = Asc(";") Then
            ' cancel
            KeyAscii = 0
        End If
    End Sub
  • Dice che vuole degli 'spunti'

    Almeno lasciagli fare Il Private Sub iniziale e l' End Sub finale

  • 08/02/2025 - amorosik ha scritto:

    Almeno lasciagli fare Il Private Sub iniziale e l' End Sub finale

    Secondo me da parte sua sarebbe troppo difficile, meglio preservare energie in modo possa studiarsi altri argomenti utili al suo progetto ;-)
    (scherzoooo)

Devi accedere o registrarti per scrivere nel forum
12 risposte