Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal,
Eu estou consertando um campo (Nome do Cliente) em que não era para ter acentos, mas já tem muitos registros inseridos com acento.
O KeyPress - para os próximos registros - já esta adicionado, mas para substituir os acentos, já existentes, está muito complicado.
Já tentei de muitas formas.
Já tentei desta forma...
DescricaoDaPeca1 = DescricaoPeca.Text
DescricaoDaPeca2 = Left(DescricaoDaPeca1, 1)
DescricaoDaPeca3 = UCase(DescricaoDaPeca2)
DescricaoDaPeca4 = Mid(DescricaoDaPeca1, 2, 255)
DescricaoPeca.Text = Replace(DescricaoDaPeca2, DescricaoDaPeca2, DescricaoDaPeca3 & DescricaoDaPeca4)
Function retiraacentos(ByVal s As String) As String
Dim i As Integer
Dim c As String
Dim r As String
s = UCase(s)
r = ""
If Len(i) > 0 Then
For i = 1 To Len(s)
c = UCase(Mid$(s, i, 1))
Select Case c
Case "Á", "À", "Ã", "Â", "Ä"
c = "A"
Case "á", "à", "ã", "â", "ä"
c = "a"
Case "É", "È", "Ê", "Ë"
c = "E"
Case "é", "è", "ê", "ë"
c = "e"
Case "Ì", "Í", "Î", "Ï"
c = "I"
Case "í", "ì", "î", "ï"
c = "i"
Case "Ó", "Ò", "Õ", "Ô", "Ö"
c = "O"
Case "ó", "ò", "õ", "ô", "ö"
c = "o"
Case "Ú", "Ù", "Û", "Ü"
c = "U"
Case "ú", "ù", "û", "ü"
c = "u"
Case "Ç"
c = "C"
Case "ç"
c = "c"
End Select
r = r + c
Next
End If
retiraacentos = r
[size=3][color="navy"]
Já tentei na maretada....[/color][/size]
LimpaVariaveis
DescricaoDaPeca1 = DescricaoPeca.Text
DescricaoPosicao = InStr(DescricaoDaPeca1, "Á")
If DescricaoPosicao > 0 Then
MsgBox LetraAsubstituir
LetraAsubstituir = "A"
MsgBox LetraAsubstituir
MsgBox DescricaoPosicao
DescricaoAntesPosicao = Left(DescricaoDaPeca1, DescricaoPosicao - 1)
DescricaoCont = Len(DescricaoDaPeca1)
DescricaoPosPosicao = Right(DescricaoDaPeca1, DescricaoCont - DescricaoPosicao)
MsgBox DescricaoAntesPosicao
MsgBox DescricaoPosPosicao
MsgBox DescricaoCont
DescricaoSemAcento = DescricaoAntesPosicao & LetraAsubstituir & DescricaoPosPosicao
DescricaoPeca = DescricaoSemAcento
End If
LimpaVariaveis
DescricaoDaPeca1 = DescricaoPeca.Text
DescricaoPosicao = InStr(DescricaoDaPeca1, "á")
If DescricaoPosicao > 0 Then
MsgBox LetraAsubstituir
LetraAsubstituir = "a"
MsgBox LetraAsubstituir
MsgBox DescricaoPosicao
DescricaoAntesPosicao = Left(DescricaoDaPeca1, DescricaoPosicao - 1)
DescricaoCont = Len(DescricaoDaPeca1)
DescricaoPosPosicao = Right(DescricaoDaPeca1, DescricaoCont - DescricaoPosicao)
MsgBox DescricaoAntesPosicao
MsgBox DescricaoPosPosicao
MsgBox DescricaoCont
DescricaoSemAcento = DescricaoAntesPosicao & LetraAsubstituir & DescricaoPosPosicao
DescricaoPeca = DescricaoSemAcento
End If
Isso tudo no LostFocus do campo em questao.
O problema,no segundo caso, esta que ele começa testando os “A” maiúsculos identifica e substitui certinho, quando ele chega nos “a” minúsculos ele identifica minúsculo mas substitui por A maiúsculo.
Já tentei Select case, já tentei if/elseIf/Else....
O que eu quero é que ele verifique se existe acento, caso exista substitua pela letra sem acento, sem alterar para maiuscula ou minuscula.
Desde ja agradeço a atencao.
Carregando comentários...