MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

3 participantes

    Código não permite alguns nomes indígenas

    avatar
    helivandomusico
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 15/04/2012

    Código não permite alguns nomes indígenas Empty Código não permite alguns nomes indígenas

    Mensagem  helivandomusico 18/1/2023, 14:28

    Bom dia,

    Obrigado a todos que respondem às perguntas

    Obtive neste fórum o seguinte código para impedir duplicidade de cadastro

    Private Sub Nome_BeforeUpdate(cancel As Integer)
    If Me!Nome = Me!Nome.OldValue Then Exit Sub
    If Not IsNull(DLookup("[nome]", "cadastro_beneficio", "[nome] ='" & Me!Nome & "'")) Then
    cancel = True
    Nome.Undo
    MsgBox "Segurado já cadastrado"
    End If
    End Sub


    Todavia esse código não aceita nomes de indígenas que tenha apóstrofo (') na escrita. Por exemplo, Pedro Ka'apor.


    Mensagem de erro exibida é a seguinte:


    "Erro em tempo de execução '3075'
    Erro de sintaxe (operador faltando) na expressão de consulta '[nome] ='Pedro Ka'apor".

    Botões: Continuar, Fim, Depurar, Ajuda


    Como corrigir isso?
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2759
    Registrado : 13/12/2016

    Código não permite alguns nomes indígenas Empty Re: Código não permite alguns nomes indígenas

    Mensagem  Alexandre Fim 18/1/2023, 15:00

    Helivando,

    O apostrofo é utilizado para separar campos texto (strings), e por esse motivo não deve ser armazenado em tabelas no banco de dados, e justamente na hora de gerar cosultas utilizando este tipo de dados, qualquer banco de dados vai gerar erro, pois o Access entende que o texto a ser pesquisado é 'Pedro Ka' e que o restante do nome está fora da sintaxe.
    Também não é o mais correto consultar por nome, pois , com o tempo, podem haver homonimos na sua base.
    Sempre que possível utilize o CPF ou qualquer outro campo que seja obrigatório e chave primária na tabela.

    Minha sugestão é: alterar todos os registros que possuem qualquer caracter especial (principalmente o apóstrofo) cadastrados em tabela, substituindo-os por ESPAÇO.


    É isso

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Código não permite alguns nomes indígenas Setinf11
    Sistemas e Tecnologia Ltda
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3821
    Registrado : 04/04/2010

    Código não permite alguns nomes indígenas Empty Re: Código não permite alguns nomes indígenas

    Mensagem  Avelino Sampaio 19/1/2023, 08:11

    Olá!

    Uma alternativa é utilizar aspas duplas. Exemplo:

    If Not IsNull(DLookup("[nome]", "cadastro_beneficio", "[nome] =""" & Me!Nome & """")) Then


    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso irrestrito ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.

      Data/hora atual: 26/1/2023, 22:52