Ciao a tutti.
Sicuramente mi sto incasinando per nulla, ma.....
A volte mi passano delle stringhe che contengono dei caratteri speciali, che ovviamente vanno a rompere le scatole in tutti i modi possibili e immaginabili.
Per eliminarli, basterebbe un semplice Replace.
Questo mi funziona se usano un solo tipo di carattere speciale (anche ripetuto).
Ma per sicurezza, ho voluto provare ad eliminare diversi tipi di carattere che ho visto inseriti nelle stringhe, pensando che, nella peggiore delle ipotesi, il fantasioso di turno possa inserire un mix di esse.
Quindi ho fatto una prova in questo modo:
Nota: uso String in quanto il numero può essere anche alfanumerico
Dim Numero As String Numero = Me.txtNumero Debug.Print Numero If InStr(Numero, "/") > 0 Then Numero = Replace(Me.txtNumero, "/", "") End If Debug.Print Numero If InStr(Numero, "\") > 0 Then Numero = Replace(Me.txtNumero, "\", "") End If Debug.Print Numero If InStr(Numero, "-") > 0 Then Numero = Replace(Me.txtNumero, "-", "") End If Debug.Print Numero If InStr(Numero, "_") > 0 Then Numero = Replace(Me.txtNumero, "_", "") End If Debug.Print Numeroe come numero ho inserito 123/456_789\123-456
eseguendo riga per riga, la via crucis si ferma a tutte le stazioni (e me lo aspetto perchè ci ho messo tutti i caratteri)
Ma a ogni debug Numero, mi ripropone il numero iniziale (con tutti i caratteri) meno quello tolto nella riga specifica.
Eppure volta per volta Numero non dovrebbe essere quello aggiornato???