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

4 participantes

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    luizzlcs
    luizzlcs
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 26/07/2011

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    Mensagem  luizzlcs 23/9/2015, 14:56

    Olá,

    Alguém sabe como validar o número do cartão nacional de saúde?
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2115
    Registrado : 13/04/2012

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Re: [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    Mensagem  Fernando Bueno 23/9/2015, 20:46

    Boa tarde;

    Numero de cartão nacional de saúde desconheço, aguarde para vermos se algum colega

    ja teve essa experiência.


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS 16rzeq
    luizzlcs
    luizzlcs
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 26/07/2011

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Re: [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    Mensagem  luizzlcs 23/9/2015, 20:50

    Encontrei o código em Java, porém não Manjo nada de Java.
    Rotina de validação de Números que iniciam com “1” ou “2”


    public boolean validaCns(String cns){
    if (cns.trim().length() != 15){
    return(false);
    }

    float soma;
    float resto, dv;
    String pis = new String("");
    String resultado = new String("");
    pis = cns.substring(0,11);

    soma = ((Integer.valueOf(pis.substring(0,1)).intValue()) * 15) +
    ((Integer.valueOf(pis.substring(1,2)).intValue()) * 14) +
    ((Integer.valueOf(pis.substring(2,3)).intValue()) * 13) +
    ((Integer.valueOf(pis.substring(3,4)).intValue()) * 12) +
    ((Integer.valueOf(pis.substring(4,5)).intValue()) * 11) +
    ((Integer.valueOf(pis.substring(5,6)).intValue()) * 10) +
    ((Integer.valueOf(pis.substring(6,7)).intValue()) * 9) +
    ((Integer.valueOf(pis.substring(7,Cool).intValue()) * Cool +
    ((Integer.valueOf(pis.substring(8,9)).intValue()) * 7) +
    ((Integer.valueOf(pis.substring(9,10)).intValue()) * 6) +
    ((Integer.valueOf(pis.substring(10,11)).intValue()) * 5);

    resto = soma % 11;
    dv = 11 - resto;

    if (dv == 11){
    dv = 0;
    }

    if (dv == 10){
    soma = ((Integer.valueOf(pis.substring(0,1)).intValue()) * 15) +
    ((Integer.valueOf(pis.substring(1,2)).intValue()) * 14) +
    ((Integer.valueOf(pis.substring(2,3)).intValue()) * 13) +
    ((Integer.valueOf(pis.substring(3,4)).intValue()) * 12) +
    ((Integer.valueOf(pis.substring(4,5)).intValue()) * 11) +
    ((Integer.valueOf(pis.substring(5,6)).intValue()) * 10) +
    ((Integer.valueOf(pis.substring(6,7)).intValue()) * 9) +
    ((Integer.valueOf(pis.substring(7,Cool).intValue()) * Cool +
    ((Integer.valueOf(pis.substring(8,9)).intValue()) * 7) +
    ((Integer.valueOf(pis.substring(9,10)).intValue()) * 6) +
    ((Integer.valueOf(pis.substring(10,11)).intValue()) * 5) + 2;

    resto = soma % 11;
    dv = 11 - resto;
    resultado = pis + "001" + String.valueOf((int)dv);
    }else {
    resultado = pis + "000" + String.valueOf((int)dv);
    }

    if (! cns.equals(resultado)){
    return(false);
    }else {
    return(true);}
    }




    Rotina de validação de Números que iniciam com “7”, “8” ou “9”




    public boolean validaCnsProv(String cns){
    if (cns.trim().length() != 15){
    return(false);
    }

    float dv;
    float resto,soma;

    soma = ((Integer.valueOf(cns.substring(0,1)).intValue()) * 15) +
    ((Integer.valueOf(cns.substring(1,2)).intValue()) * 14) +
    ((Integer.valueOf(cns.substring(2,3)).intValue()) * 13) +
    ((Integer.valueOf(cns.substring(3,4)).intValue()) * 12) +
    ((Integer.valueOf(cns.substring(4,5)).intValue()) * 11) +
    ((Integer.valueOf(cns.substring(5,6)).intValue()) * 10) +
    ((Integer.valueOf(cns.substring(6,7)).intValue()) * 9) +
    ((Integer.valueOf(cns.substring(7,Cool).intValue()) * Cool +
    ((Integer.valueOf(cns.substring(8,9)).intValue()) * 7) +
    ((Integer.valueOf(cns.substring(9,10)).intValue()) * 6) +
    ((Integer.valueOf(cns.substring(10,11)).intValue()) * 5) +
    ((Integer.valueOf(cns.substring(11,12)).intValue()) * 4) +
    ((Integer.valueOf(cns.substring(12,13)).intValue()) * 3) +
    ((Integer.valueOf(cns.substring(13,14)).intValue()) * 2) +
    ((Integer.valueOf(cns.substring(14,15)).intValue()) * 1);

    resto = soma % 11;

    if (resto != 0){
    return(false);
    }else {
    return(true);}
    }


    Observações:

    Não existe máscara para o CNS nem para o Número Provisório. O número que aparece no cartão de forma separada (898 0000 0004 3208) deverá ser digitado sem as separações.
    O 16º número que aparece no Cartão é o número da via do cartão, não é deverá ser digitado.
    luizzlcs
    luizzlcs
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 26/07/2011

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Re: [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    Mensagem  luizzlcs 23/9/2015, 20:50

    Estou pesquisando +
    Fernando Bueno
    Fernando Bueno
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2115
    Registrado : 13/04/2012

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Re: [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    Mensagem  Fernando Bueno 23/9/2015, 21:03

    Nunca usei mais ja ouvi dizer que esse programa Java to VB Converter (Free Edition)

    faz esse trabalho pesado.


    .................................................................................
    Um abraço
    Fernando Bueno


    O aumento do conhecimento é como uma esfera dilatando-se no espaço
    quanto maior a nossa compreensão,
    maior o nosso contacto com o desconhecido
    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS 16rzeq
    luizzlcs
    luizzlcs
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 26/07/2011

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty :D

    Mensagem  luizzlcs 24/9/2015, 02:06

    Obrigado pela sugestão fernando! vou verificar.
    luizzlcs
    luizzlcs
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 26/07/2011

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Convertido

    Mensagem  luizzlcs 24/9/2015, 02:27

    fiz a conversão

    Acho que não ficou bem ajustado, se alguém conseguir ajustar eu agradeço.


    CÓDIGO JÁVA

    Código:
     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;
    }

    CÓDIGO JAVA CONVERTIDO PARA VB

    Código:
    Public Overridable Function isValid(ByVal s As String) As Boolean
    If s.matches("[1-2]\d{10}00[0-1]\d") OrElse s.matches("[7-9]\d{14}") Then
    Return somaPonderada(s) Mod 11 = 0
    End If
    Return False
    End Function

    Private Function somaPonderada(ByVal s As String) As Integer
    Dim cs() As Char = s.ToCharArray()
    Dim soma As Integer = 0
    For i As Integer = 0 To cs.Length - 1
    soma += Char.digit(cs(i), 10) * (15 - i)
    Next i
    Return soma
    End Function





    Desemvolvi um aplicativo para uma operadora de planos odontológicos, agora me deparei com o desefio de validar o campo CNS, se alguém poder me ajudar, será a solução, confesso que estacionei.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Re: [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    Mensagem  Avelino Sampaio 24/9/2015, 09:59

    Luiz,

    veja esta minha sugestão:

    http://www.redeaccess.com.br/viewtopic.php?f=7&t=333&p=1241#p1241

    Sucesso!


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 26/07/2011

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Validando o CNS (Número do cartão nacional de Saúde)

    Mensagem  luizzlcs 24/9/2015, 17:52

    Obrigado Avelino,

    Atividade concluída.
    crysostomo
    crysostomo
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2192
    Registrado : 23/01/2018

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Re: [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    Mensagem  crysostomo 7/12/2021, 01:23

    Estou fazendo um sistema da secrtario de saúde da minha cidade , estou precisando validar o Cartão Nacional, vi esse link de cima, mas ele não exite mais.
    poderia me ajudar ?


    .................................................................................
    Obs.: Coloque somente as partes defeituosas para que possamos encontrar e entender o problema mais rápido para lhe ajudar. Disponho.
    Uma mão ajuda a outra.
    Feliz aquele que transfere o que sabe e aprende o que ensina.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS Empty Re: [Resolvido]Validar, autenticar Cartão Nacional de Saúde-CNS

    Mensagem  Avelino Sampaio 7/12/2021, 08:28

    Oi

    neste link do meu site:

    https://www.usandoaccess.com.br/blog/validar-campo-numero-cns.asp

    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: 1/10/2022, 15:17