Boa tarde JPaulo
Estou a tentar aplicar esta sua função num campo depois de actualizar, mas acontece o seguinte.
A eliminação dos acentos acontece.
Mas ao eliminar Por exemplo o acento de "Magalhães" a função muda para "MagalhAes".
Outro exemplo "Acácio" muda para "AcAcio"
Será que da para corrigir isto ?
Public Function DLTiraAcentos(ByVal strOriginal As String)
'By JPaulo @ 2009
Dim strToReturn As String
strToReturn = ""
Dim I As Integer
For I = 1 To Len(strOriginal)
strToReturn = strToReturn & DLTiraAcentos_GetCorrectChar(Mid$(strOriginal, I, 1))
Next I
DLTiraAcentos = strToReturn
End Function
Public Function DLTiraAcentos_GetCorrectChar(ByVal strChar As String) As String
Dim LetrasComAcentos As String
Dim LetrasSemAcentos As String
LetrasComAcentos = "ÁÍÓÚÉÄÏÖÜËÀÌÒÙÈÃÕÂÎÔÛÊáíóúéäïöüëàìòùèãõâîôûêÇç"
LetrasSemAcentos = "AIOUEAIOUEAIOUEAOAIOUEaioueaioueaioueaoaioueCc"
Dim I As Integer
For I = 1 To Len(LetrasComAcentos)
If strChar = Mid$(LetrasComAcentos, I, 1) Then
DLTiraAcentos_GetCorrectChar = Mid$(LetrasSemAcentos, I, 1)
Exit Function
End If
Next
DLTiraAcentos_GetCorrectChar = strChar
End Function
Obrigado
Estou a tentar aplicar esta sua função num campo depois de actualizar, mas acontece o seguinte.
A eliminação dos acentos acontece.
Mas ao eliminar Por exemplo o acento de "Magalhães" a função muda para "MagalhAes".
Outro exemplo "Acácio" muda para "AcAcio"
Será que da para corrigir isto ?
Public Function DLTiraAcentos(ByVal strOriginal As String)
'By JPaulo @ 2009
Dim strToReturn As String
strToReturn = ""
Dim I As Integer
For I = 1 To Len(strOriginal)
strToReturn = strToReturn & DLTiraAcentos_GetCorrectChar(Mid$(strOriginal, I, 1))
Next I
DLTiraAcentos = strToReturn
End Function
Public Function DLTiraAcentos_GetCorrectChar(ByVal strChar As String) As String
Dim LetrasComAcentos As String
Dim LetrasSemAcentos As String
LetrasComAcentos = "ÁÍÓÚÉÄÏÖÜËÀÌÒÙÈÃÕÂÎÔÛÊáíóúéäïöüëàìòùèãõâîôûêÇç"
LetrasSemAcentos = "AIOUEAIOUEAIOUEAOAIOUEaioueaioueaioueaoaioueCc"
Dim I As Integer
For I = 1 To Len(LetrasComAcentos)
If strChar = Mid$(LetrasComAcentos, I, 1) Then
DLTiraAcentos_GetCorrectChar = Mid$(LetrasSemAcentos, I, 1)
Exit Function
End If
Next
DLTiraAcentos_GetCorrectChar = strChar
End Function
Obrigado