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


    [Resolvido]Ajuda ISBN

    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Ajuda ISBN Empty Ajuda ISBN

    Mensagem  ronaldojr1 15/10/2012, 15:20

    Bom dia a todos

    e ai galera venho mais uma vez pedir a ajuda das feras do access para me ajudar a resolver esse problema.

    Eu sei fazer o calculo do digito do isbn, mas eu nao estou conseguindo fazer isso no vba pois a variavel estora. Ja tentei declarar como double e long.

    Que tipo de variavel eu tenho que declarar pra eu poder fazer o calculo do digito e acrescenta-lo no campo? exemplo: o campo contém esse valor "978853611176" e eu tranformo em "9788536111766",ou seja eu adiciono o digito no valor contido no campo. Essa parte a adicionar deixa comigo, por favor so me ajudem a fazer os calculos sem a variavel estourar.

    por equanto eu só tentei fazer a primeira parte do calculo, que é soma dos digitos multiplicados por 3 e por 1 respectivamente. Como demonstra o codigo abaixo:

    Private Sub Dig_ISBN_Click()

    'Declaracao de variaveis
    Dim i As Integer
    Dim soma As Double
    Dim dig As Double
    Dim aux As Double
    Dim ISBN As Double

    'Inicializacao das variaveis
    i = 0
    soma = 0
    ISBN = Val(Me.ISBN)
    aux = ISBN

    'Laço Retorna a soma de cada digito multiplicado por 3 e por 1 respectivamente

    Do While i < 6

    dig = aux Mod 10
    aux = Fix(aux / 10)
    soma = soma + (dig * 3)

    dig = aux Mod 10
    aux = Fix(aux / 10)
    soma = soma + (dig * 1)


    Loop

    'Imprime soma
    MsgBox soma

    Grato
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Ajuda ISBN Empty Re: [Resolvido]Ajuda ISBN

    Mensagem  ronaldojr1 15/10/2012, 16:17

    E ai galera, so voltei pra responder que eu ja consegui a resposta.

    Eu estava pensando qual variavel suporta 13 digitos?

    do tipo numérico eu não sei nenhuma, mas tem o tipo string.
    Então o que eu fiz foi manipular a string pra retornar apenas um pedaço dela pra eu converter em numero. Pronto.

    Só uma duvida, como que eu adiciono o digito na string?



    Segue o codigo do ISBN Completo pra quem um dia precisar

    'Declaracao de variaveis
    Dim i As Integer
    Dim soma As Double
    Dim dig As Double
    Dim aux As Double
    Dim ISBN As Double

    'Inicializacao das variaveis
    i = 1
    soma = 0
    ISBN = Me.ISBN

    'Soma os digitos mulplicados por 3 e por 1 e retorna a soma total
    Do While i < 13

    'Mid Pega 1 caracterer na posição i, val converte em numero e guarda na variavel dig.
    dig = Val(Mid(ISBN, 0 + i, 1))
    soma = soma + (dig * 1)
    i = i + 1


    dig = Val(Mid(ISBN, 0 + i, 1))
    soma = soma + (dig * 3)
    i = i + 1

    Loop

    'Arredonda para o proximo numero multiplicavel por 10

    aux = soma
    Do While aux Mod 10 <> 0

    aux = aux + 1

    Loop

    'Subtrai o resultado do loop com soma para em fim gerar o dig
    dig = aux - soma

    'Imprime o Digito do ISBN
    MsgBox dig

    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Ajuda ISBN Empty Re: [Resolvido]Ajuda ISBN

    Mensagem  ronaldojr1 15/10/2012, 17:09

    Resolvido, eu so mo burro.

    Se é uma string eu posso concatena-la.rsrs

    e depois disso eu posso editar o campo com um recordset e fim.

    Grato pela ajuda

    Conteúdo patrocinado


    [Resolvido]Ajuda ISBN Empty Re: [Resolvido]Ajuda ISBN

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/5/2024, 23:31