【问题标题】:Removing the first character of a string if it equals something如果字符串等于某值,则删除字符串的第一个字符
【发布时间】:2012-01-27 19:50:45
【问题描述】:

我正在为 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

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    我已经在 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”进行测试之后,您可以在第一个“end if”之后添加第二个对“-”的测试...
    【解决方案2】:

    您的代码没有什么特别的错误,在这种情况下的“模棱两可”错误消息很可能是因为您在不同的模块中有另一个具有相同名称的子或函数。搜索以找到重复的名称。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 1970-01-01
      • 2017-01-10
      • 2011-06-24
      • 2018-01-05
      • 2018-11-01
      • 2011-05-29
      相关资源
      最近更新 更多