Использование MS Access 2003 на Windows 7, я обнаружил, что следующая функция удаляет все акценты из строк ANSI, изменение (например) сеньор к сеньор:вставки юникод символов в строку VBA
Public Function RemoveAccents(ByVal inputString As String) As String
Const accentString As String = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóóôõöùúûüýÿ"
Const nonAccentStr As String = "AAAAAACEEEEIIIIINOOOOOUUUUYaaaaaaceeeeiiiionoooooouuuuyy"
Dim i As Integer
For i = 1 To Len(accentString)
inputString = Replace(inputString, Mid(accentString, i, 1), Mid(nonAccentStr, i, 1), , , vbBinaryCompare)
Next i
RemoveAccents = inputString
End Function
Но когда я пытался добавить латинская буква с с Caron (U-010D) (č) (HTML & # 269;) к функции Const accentString, как это,
Const accentString As String = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåç" & ChrW$(&H10D) & "èéêëìíîïðñòóóôõöùúûüýÿ"
Const nonAccentStr As String = "AAAAAACEEEEIIIIINOOOOOUUUUYaaaaaacceeeeiiiionoooooouuuuyy"
я не смог запустить функцию. Есть ли синтаксис, который позволит мне приспособить эту функцию, чтобы удалить диакритические символы из строк, содержащих символы, не содержащиеся в наборе символов ANSI?
Gee, даже если я говорю только по-английски и жить в обычно однородные США, но мне все еще приходится иметь дело с символами Юникода, и этот вопрос помог мне. – GlennFromIowa