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


+2
Fernando Bueno
luizzlcs
6 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 : 3900
    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!


    Última edição por Avelino Sampaio em 8/9/2024, 07:43, editado 1 vez(es)


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício 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 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2745
    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 : 3900
    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 vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Lucianorw
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 24/08/2010

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

    Mensagem  Lucianorw 16/6/2024, 08:37

    Boa noite!
    Estou tentando baixar o link da resposta do Avelino, mas não lembro meu login, quando adquiri o MontaRibbons, acho que em 2010, devo ter usado um email do ig, que não uso a muito tempo.
    Alguem teria o validador de CNS em VBA?

    Att
    Luciano
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    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 21/6/2024, 14:20

    Luciano,

    mandei o arquivo para o seu e-mail.

    Sucesso!


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

    Lucianorw gosta desta mensagem

    ribeiroguaruja
    ribeiroguaruja
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 106
    Registrado : 30/05/2015

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

    Mensagem  ribeiroguaruja 23/7/2024, 01:20

    Avelino

    Pode enviar exemplo de validação do cartão de saúde ? não tenho mais acesso ao seu site !

    grato

    Nilton


    .................................................................................
    affraid
    avatar
    Lucianorw
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 14
    Registrado : 24/08/2010

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

    Mensagem  Lucianorw 14/9/2024, 22:24

    Boa noite!
    Segue codigo do mestre Avelino

    Public Function fncValidaCNS(strCns As String) As String
    Dim Pis As String
    Dim id As Variant
    Dim j As Integer
    Dim soma As Long
    Dim resto As Byte
    Dim dv As Variant
    Dim resultado As String

    If Len(strCns) <> 15 Then Exit Function
    Pis = Left(strCns, 11)
    id = Left(strCns, 1)
    Select Case id
    Case 1, 2 'Cartão definitivo - uso do PIS
    For j = 15 To 5 Step -1
    soma = soma + (Mid(Pis, 16 - j, 1) * (j))
    Next j
    dv = 11 - (soma Mod 11)
    If dv = 11 Then dv = 0
    If dv = 10 Then
    soma = 0
    For j = 15 To 5 Step -1
    If j = 5 Then
    soma = soma + ((Mid(Pis, 16 - j, 1) * (j)) + 2)
    Else
    soma = soma + (Mid(Pis, 16 - j, 1) * (j))
    End If
    Next
    dv = 11 - (soma Mod 11)
    resultado = Pis & "001" & dv
    Else
    resultado = Pis & "000" & dv
    End If
    If strCns = resultado Then fncValidaCNS = True
    Case 7, 8, 9 'cartão provisório
    For j = 15 To 1 Step -1
    soma = soma + (Mid(strCns, 16 - j, 1) * j)
    Next
    resto = soma Mod 11
    If resto = 0 Then
    fncValidaCNS = True
    Else
    Beep
    MsgBox "CNS inválido", vbCritical, nomesistema
    DoCmd.CancelEvent
    End If
    End Select
    End Function

    ribeiroguaruja e crysostomo gostam desta mensagem


    Conteúdo patrocinado


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

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 09:24