2011-12-26 14 views
11

sto praticando VBA per Access 2010.Rimozione del primo carattere di una stringa se è uguale a qualcosa

ho letto tutti i post suggerito per quanto riguarda il mio post, ma non ho trovato nulla di specifico. So come spostare caratteri specifici in una stringa, quello che non so è come posso rimuovere un carattere specifico uguale a qualcosa.

Desidero spostare il carattere 1 o 1- dai numeri di telefono se uno è lì.

Esempio: 17188888888 a 7.188.888,888 mila o 1-7188888888 a 7.188.888,888 mila

Sto provando ad utilizzare un'istruzione if a partire prima con solo la rimozione del 1.

Il numero di telefono viene inserito come una stringa non numeri.

Questo è quello che ho iniziato: sto ricevendo un messaggio di errore che RemoveFirstChar è ambiguo.

Public Function RemoveFirstChar(RemFstChar As String) As String 
If Left(RemFstChar, 1) = "1" Then 
    RemFstChar = Replace(RemFstChar, "1", "") 
End If 
RemoveFirstChar = RemFstChar 
End Function 

risposta

16

Ho testato la funzione di Access 2010 e ha funzionato solo fune .. È inoltre possibile utilizzare questo codice:

Public Function RemoveFirstChar(RemFstChar As String) As String 
Dim TempString As String 
TempString = RemFstChar 
If Left(RemFstChar, 1) = "1" Then 
    If Len(RemFstChar) > 1 Then 
     TempString = Right(RemFstChar, Len(RemFstChar) - 1) 
    End If 
End If 
RemoveFirstChar = TempString 
End Function 
+0

Non sono sicuro del motivo per cui non funziona, ma il tuo funziona, quindi come dovrei modificare questo per rimuovere anche 1- dall'inizio se presente? Grazie! – Asynchronous

+0

Grazie per il tuo prezioso input: fa davvero la differenza! Grazie ancora! – Asynchronous

+0

Dopo il test per "1", è possibile aggiungere un secondo test per "-" dopo il primo "end if" lì che fa lo stesso ... – Karel

1

Non c'è niente di particolarmente sbagliato con il codice, l'errore "ambiguo" il messaggio in questo contesto è molto probabile perché hai un altro sub o funzione in un modulo diverso con lo stesso nome. Cerca per trovare il nome duplicato.

Se si inserisce la funzione nel modulo che appartiene a un modulo o report, è probabilmente meglio saltare "Pubblico". Se si intende utilizzare la funzione in più moduli, creare un nuovo modulo non collegato a un modulo e inserire le funzioni previste per tutti i moduli e i report in tale ambito.

È quasi sempre utile fornire il messaggio di errore completo e il numero di errore.

Problemi correlati