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

    [Resolvido]digitos verificadores

    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]digitos verificadores Empty digitos verificadores

    Mensagem  fabiobarreto10 13/11/2012, 12:31

    Amigos, eu tenho uma função que gera dois digitos verificadores de um número com sete digitos(por exemplo, 2012001). Esta função está funcionando, mas em alguns números ela retorna 3 ou 4 digitos, Gostaria da ajuda dos senhores para identificar onde está o erro.

    Qualquer ajudar é bem-vinda.

    Obrigado.

    Public Function GetVerifier(strNumero As String) As String

    Dim N As Integer, P As Integer, S As Integer, D As Double

    For N = 1 To 7
    P = (P + Mid(strNumero, N, 1) * N) Mod 11
    Next

    If P < 3 Then
    P = 0
    End If

    D = strNumero & P


    For N = 1 To 8
    S = (S + Mid(D, N, 1) * (N - 1)) Mod 11
    Next

    If S < 3 Then

    S = 0
    End If

    GetVerifier = P & S

    End Function
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]digitos verificadores Empty Re: [Resolvido]digitos verificadores

    Mensagem  Cláudio Más 13/11/2012, 12:36

    Tem um exemplo de número que a função retorna 3 ou 4 digitos?
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]digitos verificadores Empty Re: [Resolvido]digitos verificadores

    Mensagem  fabiobarreto10 13/11/2012, 14:02

    Cláudio, obrigado por responder e por ajudar. 2012009 por exemplo.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    [Resolvido]digitos verificadores Empty Re: [Resolvido]digitos verificadores

    Mensagem  Cláudio Más 13/11/2012, 14:17

    Nesses casos, P é maior que 9. Então quando o código faz:

    GetVerifier = P & S

    certamente, o resultado será uma string com 3 dígitos.

    Precisa incluir tratamento para esses casos (P maior que 9), teria que conhecer as regras para gerar os dígitos verificadores, para poder ajudar com a solução.
    avatar
    fabiobarreto10
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 165
    Registrado : 15/12/2011

    [Resolvido]digitos verificadores Empty Re: [Resolvido]digitos verificadores

    Mensagem  fabiobarreto10 13/11/2012, 14:25

    Claudio, apenas troquei Mod 11 para Mod 10, e funcionou perfeitamente. Agradeço a sua ajuda.

    Conteúdo patrocinado


    [Resolvido]digitos verificadores Empty Re: [Resolvido]digitos verificadores

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/5/2024, 23:27