2011-12-26 25 views
11

私はAccess 2010のVBAを練習しています。文字列の最初の文字を削除する場合

私の投稿に関するすべての提案された記事を読みましたが、特定のものは見つかりませんでした。 文字列内の特定の文字を移動する方法を知っていますが、わからないのは、何かに等しい特定の文字を削除する方法です。

文字1または1-を電話番号から移動したいと思います。

例:17188888888 1から7188888888

7188888888から7188888888のかは、私は電話番号が文字列でない数字として入力された1

を削除して最初に始まるif文を使用しようとしています。

これは私が始めたことです: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

私がアクセス2010年にあなたの機能をテストしていると、それだけで舟働いた..:あなたのコード、「あいまいな」エラーで特に何も間違ってはありません

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

私はなぜそれが動作していないのかわかりませんが、あなたの作品は動作しています。ありがとう! – Asynchronous

+0

貴重なご意見ありがとうございます。再度、感謝します! – Asynchronous

+0

"1"のテストの後、 " - "の2番目のテストを追加することができます。 – Karel

1

このコンテキストのメッセージは、同じ名前を持つ別のモジュールに別のサブ機能があるために発生する可能性が非常に高いです。重複する名前を検索する。

フォームまたはレポートに属するモジュールに関数を配置する場合は、おそらく "Public"をスキップするのが最善の方法です。関数を複数のフォームで使用する場合は、フォームに添付されていない新しいモジュールを作成し、その中のすべてのフォームとレポート用の関数を配置します。

完全なエラーメッセージとエラー番号を入力することは、ほとんど常に良いことです。

関連する問題