MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Calculo digito controlo

    Compartilhe
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    [Resolvido]Calculo digito controlo

    Mensagem  toyebom em 16/2/2018, 21:59

    Já fiz várias pesquisas mas não consegui encontrar. Alguém me pode ajudar com código de calculo para digito de controlo.
    São 6 dígitos e o ano está separado e são 2 dígitos.
    Assim:


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 17/2/2018, 12:35

    Bom dia,
    Não sei que pesquisa fez
    Veja
    [Você precisa estar registrado e conectado para ver este link.]


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 17/2/2018, 16:30

    Esses eu vi mas nao compreendi como adaptar, eu quero colocar um numero de 6 dígitos e separadamente mais dois e gera o digito com esses 6 mais os 2.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 18/2/2018, 13:48

    Boa tarde,
    Considere como tendo 8 digitos e depois formate como 6+2


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 20/2/2018, 00:23

    Peço desculpa mas em vba não sou assim tão bom que vá descobrir sem ajuda.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 20/2/2018, 22:06

    Boa noite,
    Código:
    Function dg(str6Hifen2 As String) As Byte
        'calcula dígito verificador para números do tipo 123456-78
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        '   código criado por Alexandre Neves, do Fórum MaximoAccess   '
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        On Error Resume Next
        Dim lngIntermedio As Long
        
        If Not str6Hifen2 Like "######-##" Then
            err.Raise 6
            MsgBox "Erro " & CStr(err.Number) & " " & err.Description, , str6Hifen2
            err.Clear
        Else
            lngIntermedio = 2 * Mid(str6Hifen2, 9, 1)
            lngIntermedio = lngIntermedio + 3 * Mid(str6Hifen2, 8, 1)
            lngIntermedio = lngIntermedio + 4 * Mid(str6Hifen2, 6, 1)
            lngIntermedio = lngIntermedio + 5 * Mid(str6Hifen2, 5, 1)
            lngIntermedio = lngIntermedio + 6 * Mid(str6Hifen2, 4, 1)
            lngIntermedio = lngIntermedio + 7 * Mid(str6Hifen2, 3, 1)
            lngIntermedio = lngIntermedio + 8 * Mid(str6Hifen2, 2, 1)
            lngIntermedio = lngIntermedio + 9 * Mid(str6Hifen2, 1, 1)
            lngIntermedio = lngIntermedio Mod 11
            If lngIntermedio = 0 Or lngIntermedio = 1 Then
                dg = 0
            Else
                dg = 11 - lngIntermedio
            End If
        End If
    End Function

    Chame dg("1234556-78")


    Última edição por Alexandre Neves em 21/2/2018, 17:14, editado 1 vez(es)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 20/2/2018, 23:19

    Boa noite, tentei desta forma mas dá numero errado.
    Anexos
    ISBN.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (21 Kb) Baixado 5 vez(es)


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 20/2/2018, 23:41

    O teu codigo dá "Erro 6 Overflow"
    Onde estou a errar?
    Anexos
    Database2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (18 Kb) Baixado 5 vez(es)


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 21/2/2018, 17:15

    Boa tarde,
    Já revi o código, mas chamou "1234556-78" que não corresponde ao padrão que pediu


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 21/2/2018, 22:22

    Peço desculpa mas não estou a compreender Chame dg("1234556-78") foi o que disseste.
    Coloco o que onde?


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 22/2/2018, 15:59

    Boa tarde,
    Tem de ir vendo outras dúvidas, quer para entender melhor a linguagem quer podendo ir ajudando outros colegas
    Chamar onde pretender.
    Quer num controlo? TxtFormatado=dg("123456-78")
    Quer em consulta actualização? UPDATE Tabela SET Formatado=dg('123456-78')
    Colocou a dúvida do cálculo do dígito, supomos que saiba como precisa utilizar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 26/2/2018, 22:10

    Peço desculpa Alexandre Neves mas já tentei de varias formas e não consigo.
    Coloquei a duvida porque necessito mas nunca usei por isso não sei.

    Já consegui alguma coisa com a bd da mensagem 7 mas o digito de controlo não bate certo, tentei
    002010/14
    002011/14
    002012/14
    002013/14
    001134/15
    001135/15
    001136/15
    001137/15
    001138/15
    001139/15
    001140/15
    Mas não gera os números que quero que deveria ficar:
    002010/14.1
    002011/14.0
    002012/14.8
    002013/14.6
    001134/15.2
    001135/15.0
    001136/15.9
    001137/15.7
    001138/15.5
    001139/15.3
    001140/15.7


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 27/2/2018, 20:28

    Boa noite,
    Eu segui a orientação de (http://) arlindo-correia.com/280201.html
    Onde se orientou para verificar o digito de controlo?


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 28/2/2018, 00:45

    Orientei-me nesta página com o exemplo que fornece:

    (https://)bytes.com/topic/access/answers/899107-how-use-mod-11-a


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 28/2/2018, 01:20

    O código fonte não tenho acesso é gerado pela DGPJ antiga DGCI e não é publico por isso não sei como é feito.

    Existe algumas explicações aqui na portaria 1223A-91 mão não encontro o código na net nem no site de DGPJ.

    (http://www.)dgpj.mj.pt/DGPJ/sections/leis-da-justica/livro-iv-leis-criminais/pdf4/p-1223a-1991/downloadFile/file/P_1223A_1991.pdf?nocache=1182172523.3
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 28/2/2018, 14:03

    Boa tarde,
    Será
    Código:
    Function dg(str6Hifen2 As String) As Byte
        'calcula dígito verificador para números do tipo 123456-78
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        '   código criado por Alexandre Neves, do Fórum MaximoAccess   '
        ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        On Error Resume Next
        
        If Not (str6Hifen2 Like "######-##" Or str6Hifen2 Like "######/##") Then
            err.Raise 6
            MsgBox "Erro " & CStr(err.Number) & " " & err.Description, , str6Hifen2
            err.Clear
        Else
            dg = ((Val(Left(str6Hifen2, 1))) * 10 + (Val(Mid(str6Hifen2, 2, 1))) * 9 + (Val(Mid(str6Hifen2, 3, 1))) * 8 + (Val(Mid(str6Hifen2, 4, 1))) * 7 + (Val(Mid(str6Hifen2, 5, 1))) * 6 + (Val(Mid(str6Hifen2, 6, 1))) * 5 + (Val(Mid(str6Hifen2, 7, 1))) * 4 + (Val(Mid(str6Hifen2, 8, 1))) * 3 + (Val(Mid(str6Hifen2, 9, 1))) * 2) Mod 11
        End If
    End Function


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 28/2/2018, 22:32

    Boa noite, continua-me a dar erro, não sei onde estou a errar o código. Podes-me tentar adaptar o código na bd da mensagem 7, agradeço.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 1/3/2018, 19:54

    Boa noite,
    Vê que o resultado não coincide com o pretendido devido ao código de conversão
    Anexos
    ISBN.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (29 Kb) Baixado 6 vez(es)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 1/3/2018, 21:40

    Estou a ver testei com os números da mensagem 12 e não bateu certo.
    Alguma ideia?


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6804
    Registrado : 05/11/2009

    Re: [Resolvido]Calculo digito controlo

    Mensagem  Alexandre Neves em 3/3/2018, 10:11

    Bom dia,
    Tem de saber como se faz o cálculo para se poder implementar


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1037
    Registrado : 18/07/2012

    Calculo digito controlo

    Mensagem  toyebom em 16/6/2018, 03:00

    Como não consegui e ninguém me conseguiu ajuda por falta de conhecimento da minha parte como se faz o calculo para poder implementar, dou como resolvido, obrigado a todos.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.

      Data/hora atual: 20/7/2018, 15:35