bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Validar Campo com Número do CNS

Validar campo com número do CNS

Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 2x no Cartão de Crédito. 

Veja como comprar e saiba mais sobre o material oferecido,  clicando aqui.

Open v3

 

Usuário Luiz:

Boa noite.

Será que alguém já conseguiu validar um campo com número do Cartão Nacional de Saúde?  Já pesquisei sobre o assunto em outros fóruns, porém em Access não encontrei nada.

Encontrei um código em JAVA, porém não entendi muita coisa.  Preciso de ajuda!

public boolean isValid(String s) {
   if (s.matches("[1-2]\\d{10}00[0-1]\\d") || s.matches("[7-9]\\d{14}")) {
      return somaPonderada(s) % 11 == 0;
   }
   return false;
}

private int somaPonderada(String s) {
   char[] cs = s.toCharArray();
   int soma = 0;
   for (int i = 0; i < cs.length; i++) {
      soma += Character.digit(cs[i], 10) * (15 - i);
   }
   return soma;
}

Suporte:

Luiz, temos o cartão provisório e o cartão definitivo que usa o número do PIS (primeiros 11 dígitos). Segue o código abaixo que montei e que valida também o cartão provisório.

Faça o login aqui para ter acesso ao código.

Usando a função:

if fncValidaCns("175071486530018") then
   'Cartão válido
else
   'Cartão rejeitado
end if

Nota 1: É necessário realizar teste com os vários números que você tem certeza que são válidos, inclusive com os números provisórios.

Nota 2: No código JAVA apresentado, o rapaz usou o Regex (Regular-Expression).  Para isso é preciso ativar a referência “Microsoft VBScript Regular Expression 5.5” que está em “c:\Windows\system32\vbscript.dll”. Preferi não usar o Regex, apesar do código ficar bem mais reduzido, para não ter que ativar esta referência no VBA.  Segue um link do meu artigo, caso queira ver um exemplo usando o Regex no Access.

Regex no Access

Aguardo o teste.

Usuário Luiz :

Obrigado Avelino, deu certo. Já havia vasculhado por alguns fóruns, mas sem retorno. Validação de CPF e CNPJ é o que mais se encontra, mas não o do CNS.

Para facilitar para outros usuários que um dia possam se deparar com a mesma situação, disponibilizo o exemplo.

Suporte:

Luiz, obrigado pelo feedback e sucesso! Seu exemplo está abaixo:

Download

 


 

 


4 comentário(s)

LUIZ NETO   12/02/2020 08:03:13

Boa tarde Avelino!

Problema resolvido conforme vossa orientação!
Grato pela vossa atenção "GRANDE MESTRE".

Avelino Sampaio   12/02/2020 01:02:51

Luiz,

acrescente a seguinte linha de tratamento de erro no incio do código:

ON ERROR RESUME NEXT

Sucesso!

LUIZ NETO   10/02/2020 16:32:28

Validação CNS. Caso você insira mais algum campo no formulário e deixar o campo do CNS vazio, ao dar tab ou enter para pular de campo retorna o seguinte erro:

Erro em tempo de execução 94:
Uso de null inválido.

LUIZ NETO   10/02/2020 16:32:24

Validação CNS. Caso você insira mais algum campo no formulário e deixar o campo do CNS vazio, ao dar tab ou enter para pular de campo retorna o seguinte erro:

Erro em tempo de execução 94:
Uso de null inválido.


Envie seu comentário: