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 participantes

    Dígito Verificador de Certidão de Nascimento

    avatar
    Rosivaldo Melo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 30/09/2011

    Dígito Verificador de Certidão de Nascimento Empty Dígito Verificador de Certidão de Nascimento

    Mensagem  Rosivaldo Melo 15/4/2016, 03:42

    Olá a todos, estou com problemas para gerar o DV da Certidão de Nascimento, por favor, me ajudem.
    Abaixo a Rotina que deve ser feita. Obrigado.

    1  0  4  5  3  9  0  1  5  5  2  0  1  3  1  0  0  0  1  2  0  2  1  0  0  0  0  1  2  3 = 2              
    x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x
    2  3  4  5  6  7  8  9 10  0  1  2  3  4  5  6  7  8  9 10  0  1  2  3  4  5  6  7  8  9
    -----------------------------------------------------------------------------------------                  
    2+ 0+16+25+18+63+ 0+ 9+50+ 0+ 2+ 0+ 3+12+ 5+ 0+ 0+ 0+ 9+20+ 0+ 2+ 2+ 0+ 0+ 0+ 0+ 7+16+27 = 288

    288÷11=26, com resto 2 (este é o 1º dígito do DV) - Nota: se o resto for "10", o DV será "1"

    1  0  4  5  3  9  0  1  5  5  2  0  1  3  1  0  0  0  1  2  0  2  1  0  0  0  0  1  2  3  2 = 1
    x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x  x
    1  2  3  4  5  6  7  8  9 10  0  1  2  3  4  5  6  7  8  9 10  0  1  2  3  4  5  6  7  8  9
    --------------------------------------------------------------------------------------------
    1+ 0+12+20+15+54+ 0+ 8+45+50+ 0+ 0+ 2+ 9+ 4+ 0+ 0+ 0+ 8+18+ 0+ 0+ 1+ 0+ 0+ 0+ 0+ 6+14+24+18 = 309

    309÷11=28, com resto 1 (este é o 2º dígito do DV) - Nota: se o resto for "10", o DV será "1"

    Portanto, o Número de Matrícula+DV = 104539.01.55.2013.1.00012.021.0000123-21


    Cálculo extraído do site: ghiorzi.org/DVnew.htm
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    Dígito Verificador de Certidão de Nascimento Empty Re: Dígito Verificador de Certidão de Nascimento

    Mensagem  Avelino Sampaio 15/4/2016, 13:53

    Olá!

    veja um exemplo de programação para validar o CNPJ / CPF. Pode lhe ajudar em adaptar a programação

    http://www.usandoaccess.com.br/tutoriais/verificar-cpf-e-cnpj.asp?id=1#inicio

    Bom estudo!


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


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 30/09/2011

    Dígito Verificador de Certidão de Nascimento Empty Não consegui adaptar.

    Mensagem  Rosivaldo Melo 16/4/2016, 16:13

    Há uma função simplificada do Mestre Criquio que é a seguinte:

    Private Sub txtNumero_AfterUpdate()
    Dim N as Integer, P As Integer, S As Integer, D As Double

    ' Primeiro DV

    For N = 1 To 9
    P = (P +Mid(Me.txtNumero, N, 1) * N) Mod 11
    Next

    If P < 3 Or P > 9 then
    P = 0
    End If

    D = Me.txtNumero & P

    ' Segundo DV

    For N = 1 To 10
    S = (S+(Mid(Me.txtNumero, N, 1) * (N - 1)) Mod 11
    Next

    If S < 3 Or S > 9 Then
    S = 0
    End If
    Me.txtDigito = P & S

    '-----
    'Há possibilidade de Adaptá-la ao que preciso? Obrigado
    avatar
    Rosivaldo Melo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 17
    Registrado : 30/09/2011

    Dígito Verificador de Certidão de Nascimento Empty Código simples - Consegui

    Mensagem  Rosivaldo Melo 16/4/2016, 18:08

    Consegui executar da maneira mais trabalhosa, caso haja uma forma mais simples, agradeço se informarem. Obrigado

    Private Sub Comando16_Click()
    Dim DV1 As Integer, DV2 As Integer, RES As Integer, RES2 As Integer

    Me.t1.Value = Mid(Serventia, 1, 1)
    Me.t2.Value = Mid(Serventia, 2, 1)
    Me.t3.Value = Mid(Serventia, 3, 1)
    Me.t4.Value = Mid(Serventia, 4, 1)
    Me.t5.Value = Mid(Serventia, 5, 1)
    Me.t6.Value = Mid(Serventia, 6, 1)
    Me.t7.Value = Mid(Acervo, 1, 1)
    Me.t8.Value = Mid(Acervo, 2, 1)
    Me.t9.Value = Mid(Cod55PessoasNaturais, 1, 1)
    Me.t10.Value = Mid(Cod55PessoasNaturais, 2, 1)
    Me.t11.Value = Mid(Ano, 1, 1)
    Me.t12.Value = Mid(Ano, 2, 1)
    Me.t13.Value = Mid(Ano, 3, 1)
    Me.t14.Value = Mid(Ano, 4, 1)
    Me.t15.Value = Mid(TipodeLivro, 1, 1)
    Me.t16.Value = Mid(NumLivro, 1, 1)
    Me.t17.Value = Mid(NumLivro, 2, 1)
    Me.t18.Value = Mid(NumLivro, 3, 1)
    Me.t19.Value = Mid(NumLivro, 4, 1)
    Me.t20.Value = Mid(NumLivro, 5, 1)
    Me.t21.Value = Mid(Folha, 1, 1)
    Me.t22.Value = Mid(Folha, 2, 1)
    Me.t23.Value = Mid(Folha, 3, 1)
    Me.t24.Value = Mid(Termo, 1, 1)
    Me.t25.Value = Mid(Termo, 2, 1)
    Me.t26.Value = Mid(Termo, 3, 1)
    Me.t27.Value = Mid(Termo, 4, 1)
    Me.t28.Value = Mid(Termo, 5, 1)
    Me.t29.Value = Mid(Termo, 6, 1)
    Me.t30.Value = Mid(Termo, 7, 1)


    ' Primeiro DV
    DV1 = (t1 * 2) + (t2 * 3) + (t3 * 4) + (t4 * 5) + (t5 * 6) + (t6 * 7) + (t7 * 8) + (t8 * 9) + (t9 * 10) + (t10 * 0) + (t11 * 1) + (t12 * 2) + (t13 * 3) + (t14 * 4) + (t15 * 5) + (t16 * 6) + (t17 * 7) + (t18 * 8) + (t19 * 9) + (t20 * 10) + (t21 * 0) + (t22 * 1) + (t23 * 2) + (t24 * 3) + (t25 * 4) + (t26 * 5) + (t27 * 6) + (t28 * 7) + (t29 * 8) + (t30 * 9)
    RES = DV1
    RES = RES Mod 11

    If RES > 9 Then
    RES = 1
    End If

    Me.Dig1.Value = RES
    T31 = RES

    ' Segundo DV
    DV2 = (t1 * 1) + (t2 * 2) + (t3 * 3) + (t4 * 4) + (t5 * 5) + (t6 * 6) + (t7 * 7) + (t8 * 8) + (t9 * 9) + (t10 * 10) + (t11 * 0) + (t12 * 1) + (t13 * 2) + (t14 * 3) + (t15 * 4) + (t16 * 5) + (t17 * 6) + (t18 * 7) + (t19 * 8) + (t20 * 9) + (t21 * 10) + (t22 * 0) + (t23 * 1) + (t24 * 2) + (t25 * 3) + (t26 * 4) + (t27 * 5) + (t28 * 6) + (t29 * 7) + (t30 * 8) + (T31 * 9)
    RES2 = DV2
    RES2 = RES2 Mod 11
    If RES2 > 9 Then
    RES2 = 1
    End If

    Me.Dig2.Value = RES2


    End Sub
    Anexos
    Dígito Verificador de Certidão de Nascimento AttachmentMatrícula Nascimento.zip
    Envio também o Banco de Dados
    Você não tem permissão para fazer download dos arquivos anexados.
    (36 Kb) Baixado 19 vez(es)

    Conteúdo patrocinado


    Dígito Verificador de Certidão de Nascimento Empty Re: Dígito Verificador de Certidão de Nascimento

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 14:57