删除字符串的第一个字符,如果它等于某个字符串

时间:2011-12-26 05:42:15

标签: vba access-vba

我正在为Access 2010练习VBA。

我阅读了有关我的帖子的所有建议帖子,但没有找到任何具体内容。 我知道如何在字符串中移动特定字符,我不知道的是我如何删除与某些东西相等的特定字符。

我想将电话号码中的字符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

2 个答案:

答案 0 :(得分:20)

我已在Access 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

答案 1 :(得分:1)

您的代码没有什么特别的错误,此上下文中的“模糊”错误消息很可能是因为您在具有相同名称的其他模块中有另一个子或函数。搜索以查找重复的名称。

如果您将该功能放在属于表单或报表的模块中,则最好跳过“公共”。如果您打算将函数用于多个表单,请创建一个未附加到表单的新模块,并将用于所有表单和报表的函数放在其中。

提供完整的错误消息和错误号几乎总是好的。

相关问题