[resolvido] Substituir Caracteres em Consulta

Moderador: Avelino Sampaio

HLUZSILVEIRA
Mensagens: 8
Registrado em: 07 Jun 2015, 20:59

[resolvido] Substituir Caracteres em Consulta

Mensagempor HLUZSILVEIRA » 24 Jan 2018, 19:18

Boa tarde pessoal,

Tenho um campo denominado nome em uma tabela. Este campo permite que os caracteres sejam cadastrados com acentos, cedilha e etc.

Agora me deparei com um problema, preciso gerar um arquivo texto que será importando para um sistema de terceiros.

O problema que no campo nome, os caracteres especiais ou de acentuação não são permitidos, desta forma, por exemplo, é, É, ç, Ç, ã, Ã, õ, Õ e etc., deverão ser substituídos por e, E, c, C, a, A, o, O e etc.

É possível eu acertar esse problema em uma consulta?

Obrigado a todos e abraços !

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Nerval_krettli
Mensagens: 34
Registrado em: 07 Jun 2015, 21:06

Re: Substituir Caracteres em Consulta

Mensagempor Nerval_krettli » 24 Jan 2018, 20:04

HLUZSILVEIRA Boa Tarde!

Eu Utilizo a função baixo e me atende muito bem

Crie um modulo e chame a função no seu campo da consulta


Código:
Function TiraAcento(ByVal Palavra)
cacento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ^~ºª´`' "
sacento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN"
texto = ""
If Palavra <> "" Then
For X = 1 To Len(Palavra)
letra = Mid(Palavra, X, 1)
pos_acento = InStr(cacento, letra)
If pos_acento > 0 Then
letra = Mid(sacento, pos_acento, 1)
End If
texto = texto & letra
Next
TiraAcento = texto
End If
End Function



Att
Nerval

HLUZSILVEIRA
Mensagens: 8
Registrado em: 07 Jun 2015, 20:59

Re: Substituir Caracteres em Consulta

Mensagempor HLUZSILVEIRA » 25 Jan 2018, 10:39

Bom dia Nerval,

Primeiramente muito obrigado pela ajuda.

Eu não entendo muito de VBA e inicilamente estava apresentando um erro de compilação: Variável Não Definida.

Consegui resolver declarando as variáveis, conforme o código a seguir:

--------------------------------------------------------------------------------------------------------
Function TiraAcento(ByVal Palavra)

Dim cacento
Dim sacento
Dim texto
Dim x
Dim letra
Dim pos_acento


cacento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ^~ºª´`' "
sacento = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN"


texto = ""
If Palavra <> "" Then
For x = 1 To Len(Palavra)
letra = Mid(Palavra, x, 1)
pos_acento = InStr(cacento, letra)
If pos_acento > 0 Then
letra = Mid(sacento, pos_acento, 1)
End If
texto = texto & letra
Next
TiraAcento = texto
End If
End Function

--------------------------------------------------------------------------------------------------------

Agora funcionou, mas o nome está ficando tudo junto com os sobrenomes, e não consegui resolver, você sabe como posso alterar pra ficar os espaços entre os nomes e sobrenomes?

Obrigado e abraços !

HLUZSILVEIRA
Mensagens: 8
Registrado em: 07 Jun 2015, 20:59

Re: Substituir Caracteres em Consulta

Mensagempor HLUZSILVEIRA » 25 Jan 2018, 10:43

Bom dia pessoal,

Fiz uma alteração na linha abaixo e os espaços entre os nomes e sobrenomes ficaram ok:

Código:
cacento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ^~ºª´`' "


Para

Código:
cacento = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ^~ºª´`'"



Agradeço mais uma vez, problema resolvido com a grande ajuda de vocês mais uma vez !

Abraço a todos !

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Consultas”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 4 visitantes