2011-12-26 152 views
11

我正在練習VBA for Access 2010.刪除字符串的第一個字符如果它等於

我閱讀了關於我的文章的所有建議文章,但沒有找到任何具體內容。 我知道如何移動字符串中的特定字符,我不知道的是我如何移除等於某個字符的特定字符。

我想從電話號碼中移動字符1或1-,如果有的話。

例子:17188888888到7188888888或1-7188888888到7188888888

我想使用if語句,只需去除1

的電話號碼輸入一個字符串不是數字第一次開始。

這就是我已經開始:我得到一個錯誤信息,RemoveFirstChar是不明確的。

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

回答

16

我已經測試你的功能在Access 2010和它的工作只是fune。您也可以使用此代碼:

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

我不確定它爲什麼不能正常工作,但是你的工作正常,那麼如何修改這個以便從頭開始刪除1-呢?謝謝! – Asynchronous 2011-12-26 06:10:26

+0

感謝您的寶貴意見 - 它真的有所作爲!再次感謝! – Asynchronous 2011-12-26 06:13:12

+0

經過對「1」的測試後,您可以在第一個「end if」之後爲「 - 」添加第二個測試。 – Karel 2011-12-26 06:30:13

1

沒有什麼特別的你的代碼錯誤,在「曖昧」的錯誤在這種情況下的消息很可能是因爲您在另一個具有相同名稱的模塊中有另一個子或函數。搜索以查找重複的名稱。

如果您將該功能放在屬於表格或報告的模塊中,最好跳過「公開」。如果您打算將函數用於多種形式,請創建一個未附加到表單的新模塊,並將用於所有表單和報告的函數放入該模塊中。

提供完整的錯誤消息和錯誤編號幾乎總是很好。

相關問題