0

我正在寻找访问查询来替换第一次出现的“。” 在一个字符串中。

Example:
A.xcvb.NS
.sdfg.FX

O/P:
A-xcvb.NS
-sdfg.FX

让我知道这在访问查询中是否可行。

4

3 回答 3

1

在 Microsoft Access 中,Replace 函数将字符串中的一系列字符替换为另一组字符(多次)。

句法

Replace 函数的语法是:

Replace ( string1, find, replacement, [start, [count, [compare]]] ) string1 是用另一组字符替换一个字符序列的字符串。

find 是要在 string1 中搜索的字符串。

替换将替换 string1 中的 find。

开始是可选的。这是 string1 中开始搜索的位置。如果省略此参数,则 Replace 函数将从位置 1 开始搜索。

计数是可选的。这是要替换的出现次数。如果省略此参数,Replace 函数会将所有出现的 find 替换为替换。

替换功能

于 2013-08-07T10:15:16.590 回答
-1

使用内置的 VBAReplace函数替换所有实例

UPDATE tbl
SET fld = Replace(fld,'.','')

要仅替换第一个实例,您将需要一个自定义函数而不是上述Replace函数

Public Function ReplaceFirstInstance(str As String, strFind As String, strReplace As String) As String
    Dim pos As Long

    pos = InStr(str, strFind)

    If pos > 0 Then
        Mid(str, pos, 1) = strReplace
    End If
    ReplaceFirstInstance = str

End Function
于 2013-08-07T09:44:06.163 回答
-1

E Mett 的解决方案对我不起作用......

Public Function ReplaceFirstInstance(str As String, strFind As String, strReplace As String) As String
    Dim pos As Long

    pos = InStr(str, strFind)

    If pos > 0 Then
        ReplaceFirstInstance = Left(str, pos - 1) & strReplace & Mid(str, pos + Len(strFind))
        'Mid(str, pos, 1) = strReplace
    Else
        ReplaceFirstInstance = str
    End If


End Function
于 2014-08-27T07:19:47.987 回答