Impedire l'inserimento di "/"

di il
12 risposte

Impedire l'inserimento di "/"

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

  • Re: Impedire l'inserimento di "/"

    Ciao,

    per esempio puoi utilizzare l'evento keypress

    Controlla con tale evento se stai utilizzando alcuni caratteri 

    Esempio:

    If KeyAscii = Asc(..... etc etc 

    vedere: https://learn.microsoft.com/en-us/office/vba/api/access.form.keypress

  • Re: Impedire l'inserimento di "/"

    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

  • Re: Impedire l'inserimento di "/"

    Grazie delle risposte....

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

    grazie

  • Re: Impedire l'inserimento di "/"

    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.

  • Re: Impedire l'inserimento di "/"

    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.

  • Re: Impedire l'inserimento di "/"

    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?

  • Re: Impedire l'inserimento di "/"

    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

  • Re: Impedire l'inserimento di "/"

    Puoi usare una Validation Rule

    https://support.microsoft.com/en-us/office/restrict-data-input-by-using-validation-rules-b91c6b15-bcd3-42c1-90bf-e3a0272e988d

  • Re: Impedire l'inserimento di "/"

    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, "/", "")

  • Re: Impedire l'inserimento di "/"

    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
  • Re: Impedire l'inserimento di "/"

    Dice che vuole degli 'spunti'

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

  • Re: Impedire l'inserimento di "/"

    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