MS Access Query: заменить все символы в строке одним символом - PullRequest
0 голосов
/ 13 декабря 2018

Я обычно придумываю (или успешно Google!) Решение для большинства вещей, которые я не знаю, но это заставило меня зайти в тупик, и я уверен, что кто-то, должно быть, делал это в прошлом.

На бумаге то, что я пытаюсь сделать, довольно просто (я думал!)

В основном я пытаюсь воспроизвести текстовую строку в поле Field1 в поле Field2, но с заменой всех символов алфавитас одним символом, то есть "х".

Например:

Поле1 |Field2

Марк Тэнди |xxxx xxxxx

По сути, я хочу скрыть данные Field1.Более того, я хотел бы иметь возможность оставить первую букву каждого слова незаметной, то есть

Field1 |Field2

Марк Тэнди |Mxxx Txxxx

Вероятно, есть идеальное простое решение (возможно, с пользовательской функцией), о котором я не думаю, что со стороны достаточно разбираюсь.

Я буду продолжать над этим работать, но если у кого-то естьлюбые предложения, я был бы очень благодарен!

Большое спасибо,

Марк

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете решить это довольно легко с помощью пользовательской функции:

Public Function ObscureString(InputString As String) As String
    Dim SplitString() As String
    SplitString = Split(InputString, " ") 'Split words on spaces
    Dim SingleString As Variant
    For Each SingleString In SplitString
        If ObscureString <> "" Then ObscureString = ObscureString & " " 'Append space
        ObscureString = ObscureString & Left(SingleString, 1) 'Append first character
        If Len(SingleString) > 1 Then
            ObscureString = ObscureString & String(Len(SingleString) - 1, "x") 'x-es
        End If
    Next
End Function
...