MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Zerar Codigo de Verificaçao DV.

    Compartilhe

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  rsantosinf em Ter 28 Jul 2015, 02:40

    Boa noite Gente Boa do MaximoAccess...

    Venho explanar mais uma vez a minha dificuldade, sempre encontro soluções com vocês.

    É Simples, Vejam.

    2 003300 00187 4

    Sabendo que esse código é Gerado pelas Balanças de Etiquetagem com EAN13.

    [2] código identificador de Peso.
    [0033] é referente ao código do produto .
    [00] são os dois zeros que acompanham pra nada
    [00187] é Referente ao Preço do Produto.

    [4] o Ultimo numero 4 é o Chamado Digito Verificador (DV), gostaria de forçar para que todos os números da Balança.

    gostaria de um código para fazer com que todos os [DV] De peso da balança sejam [0].

    nesse caso o código iria ficar assim.

    2 003300 00187 0.

    Quando o Código é lido ele aparece o valor 1,874, ou seja aparece como se fosse cobrado décimos de centavos, e esta errado onde o certo deveria ser.
    1,870 ai iria apenas diminuir a casa decimal então iria ficar 1,87.

    Obrigado ...

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3211
    Registrado : 15/03/2013

    Re: [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  ahteixeira em Ter 28 Jul 2015, 08:24

    Olá Andre Ricardo, para zerar, veja o código abaixo:
    Código:
    msgbox Left("2003300001874", Len("2003300001874") - 1) &"0"

    No entanto se a questão de zerar é por causa do valor apenas, acho que resolve apenas com o código abaixo:
    Código:
    msgbox Right(Left("2003300001874", Len("2003300001874") - 1),5)/100

    Abraço

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    ahteixeira Como usar o código..

    Mensagem  rsantosinf em Qua 29 Jul 2015, 00:10

    ahteixeira Muito Obrigado pela ajuda ja entendi a logica do Problema agora me ajude como utilizar essa linguagem...

    Recebo vários códigos desse tipo da leitora de código de barra.

    Pergunta...

    Devo colocar o código em um caixa de texto que recebe o código de barra, ou no List que carrega e interpreta o produto a quantidade e o valor?

    O bom seria que na hora que recebesse os código de barra ele ja fizesse a conversão.

    2001800001874 para 20018001870 e jogasse essa informação ja com o zero para o list.


    Como fazer isso?

    o nome do campo que recebe o código de barras é txtcodigobarras e o list que recebe se chama ltxProdutosVenda.

    Fico agradecido pela força.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3211
    Registrado : 15/03/2013

    Re: [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  ahteixeira em Qua 29 Jul 2015, 10:11

    Olá, se não me engano o exemplo e para ir buscar o preço.
    Neste caso, pode ser utilizado da seguinte forma:

    txtPreco = Right(Left(txtcodigobarras, Len(txtcodigobarras) - 1),5)/100

    Não sei como está atribuir os valores à ltxProdutosVenda.
    Se possível, poste pequeno exemplo para ser mais fácil qualquer utilizador aqui do fórum ajudar.
    Abraço

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    Envio do Exemplo.

    Mensagem  rsantosinf em Qua 29 Jul 2015, 15:20

    2001100001784 NO PREÇO NO LISTE DEVERIA APARECER SOMENTE O PREÇO DE 1,78 MAS APARECE O DV(DIGITO VERIFICADOR) OU SEJA O 4.
    ZERAR O ULTIMO NUMERO DO CODIGO [[2001100001780]]
    2001200002543
    2001300005985
    2001400008743
    2001500006352
    2001600002154
    2001700008743

    FICO NO AGUARDO..... OBRIGADO..


    Última edição por rsantosinf em Sab 01 Ago 2015, 12:52, editado 1 vez(es)

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3211
    Registrado : 15/03/2013

    Re: [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  ahteixeira em Qua 29 Jul 2015, 16:09

    Olá, consegui por a funcionar o seu projecto, onde pretende utilizar (nome form e campo)
    Pergunto eu:
    Se é um código de barras, onde é que vai ser efectuada a leitura do código e o que deve processar?
    No aguardo

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    Campo CodigoBarra.

    Mensagem  rsantosinf em Qua 29 Jul 2015, 16:31

    A ideia é a seguinte.

    Ele ler o Código de Barra da Balança que Emite Etiqueta de Código no Campo Chamado CodigoBarras do formulário Vendas.

    Depois que ele Ler ele carrega a informação no List que também esta no Formulário Vendas.

    No campo Subtotal que ele deve aparecer apenas o valor 1,780 nao 1,784.

    2001700001784 o sistema devera [ se possível ter essa dadiva de sua ajuda] ler e carregar no list dessa forma 2001700001780.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3211
    Registrado : 15/03/2013

    Re: [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  ahteixeira em Qua 29 Jul 2015, 17:00

    Olá, não está facil testar aqui.
    No entanto altere no seu projecto a sub conforme a baixo e veja o resultado, será só ajustar onde pretende:

    Código:
    Private Sub txtCodigoBarras_Exit(Cancel As Integer)
     
        If Me.txtCodigoBarras.Text <> "" Then
            MsgBox Right(Left(Me.txtCodigoBarras.Text, Len(Me.txtCodigoBarras.Text) - 1), 5) / 100
            Me.PegaProduto
        Else
            Me.LimpaProduto
        End If
       
    End Sub

    Onde necessita o preço use:

    Right(Left(Me.txtCodigoBarras.Text, Len(Me.txtCodigoBarras.Text) - 1), 5) / 100

    Abraço

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    1º Teste ok

    Mensagem  rsantosinf em Qua 29 Jul 2015, 17:40

    Ok, O Primeiro caso ficou legal, ele olhou para o código e mostrar na tela sem o valor excedente...

    agora a segunda que ainda não descobrir onde carregar o resultado no liste ltxprodutosvendas, pra finalizar...

    Se você conseguir ai por favor ....

    Fico muito agradecido pela tua ajuda.

    Agora falta pouco...

    Eu ate mandei a balança para a assistência para tirar o ultimo numero mas eles não conseguem zerar pela balança.


    Última edição por rsantosinf em Qua 29 Jul 2015, 17:52, editado 1 vez(es)

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3211
    Registrado : 15/03/2013

    Re: [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  ahteixeira em Qua 29 Jul 2015, 17:51

    Olá, aí é que está a questão.
    Ao ler o código você tem toda a informação.
    A partir daí é so processar conforme a necessidade.
    Ou adicionar/actualizar ficheiro de artigos,
    Ou pura e simplesmente lançar no ficheiro denvendas.
    Não tive muita oportunidade de ver o código e tinha muitas condições repetidas se possivel amanha darei uma vista de olhos.
    Entretento, pode ser que mais alguém possa ajudar.
    No entanto lembre-se, o código é seu e você melhor que ninguém é que deveria saber onde alterar.
    Mãos à obra.
    Abraço

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    Obrigado...

    Mensagem  rsantosinf em Qua 29 Jul 2015, 18:04

    Na verdade Muita coisa é ajuda de Parceiro nesse projeto...
    e muita coisa é Estudo,

    Fico sempre agradecido em ter ajuda aqui no MaximoAccess...



    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    Nao fui Capaz.

    Mensagem  rsantosinf em Qui 30 Jul 2015, 03:57

    ahteixeira....

    agradeço a Força, mas Passei o Restante da Tarde da noite o inicio da Madrugada, mas não consegui inserir o código dentro do sistema.

    Penso que pode ser por nomenclatura ou algo que não estou apar...

    Se caso você poder ou desejar ajudar-me fico no aguardo e muito agradecido.

    Bom dia.


    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3211
    Registrado : 15/03/2013

    Re: [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  ahteixeira em Qui 30 Jul 2015, 16:13

    Olá, para tentar ajudar, diga-me qual o tipo(s) e nome do(s) objecto(s) onde pretende colocar o valor.
    O exemplo que postou tive que "martelar" e não está a funfar muito bem.
    Abraço

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    ltxProdutosVenda.

    Mensagem  rsantosinf em Qui 30 Jul 2015, 16:54


    Atualmente ele aparece esse resultado no subtotal 2001700001786 = subtotal aparece 1,786

    Como deveria aparecer = Subtotal 1,780
    ou poderia ser dessa forma também 1,78

    Ja tentei diminuir a casa decimal para dois dígitos apos a virgula mas quando faço isso o Valor muda para 1,79 logo esta errado.

    Obrigado e Desculpe a Insistência.


    Última edição por rsantosinf em Sab 01 Ago 2015, 13:09, editado 1 vez(es)

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3211
    Registrado : 15/03/2013

    Re: [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  ahteixeira em Sex 31 Jul 2015, 16:51

    Olá Andre Ricardo, será melhor postar novo exemplo a funcionar.

    Se não tem outra maquina para testar, efectue da seguinte forma:

    1 - crie um projecto a funcionar na pasta c:\tmpTeste
    2 - altere o nome dos directorios de origem do seu projecto (exemplo: de SYSPDV oRIG2 para _SYSPDV oRIG2)
    3 - verifique se nao tem outras ligações
    4 - teste o exemplo criado em c:\tmpTeste
    5 - Se estiver a funcionar, inclua o SNAPVIEW.OCX e crie um zip

    Abraço

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    Depois de muito Estudo..

    Mensagem  rsantosinf em Seg 03 Ago 2015, 03:49

    ahTeixeira, Venho aqui lhe agradecer pela força, depois de muito estudo e pesquisa ate em sites estrangeiro conseguir resolver o problema, Como lhe havia falado antes teria duas formas de resolver.

    1 Remover o Ultimo numero ou mudar para Zero Como você me auxiliou.

    2 Impedir o Arredondamento maior que 0,5 que transformava todo em numero inteiro exemplo: 1,25 em 1,3 que esta errado.

    A solução veio pelo arredondamento..

    Antes o sistema lia o código da balança com o ultimo digito que era o [DV] Digito verificador ou seja ele trazia o preço do produto junto com o Digito verificador.

    Ex: 2001700001789 9 = [DV] então o valor ficar errado pois trazendo o ultimo numero como parte do preço, 1,789.

    A solução:

    Diminuindo a casa decimal para 2 ele truncava para arredondar ficando assim o valor 1,79 que também estava errado o certo seria 1,78.

    Usando essa Expressão ele impede que seja arredondado os valores preservando assim o numero original 1,78.

    Subtotal: Soma(Format([tblVendas]![Subtotal];Int(100*[tblVendas]![Subtotal])/100))

    Int(100*[tblVendas]![Subtotal])/100)..

    Mas uma vez obrigado pela força de sempre a todos aqui do Forum...

    rsantosinf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 13/03/2012

    Resolvido

    Mensagem  rsantosinf em Seg 03 Ago 2015, 03:51

    Resolvido com o código..

    Int(100*[tblVendas]![Subtotal])/100)..

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3211
    Registrado : 15/03/2013

    Re: [Resolvido]Zerar Codigo de Verificaçao DV.

    Mensagem  ahteixeira em Seg 03 Ago 2015, 09:12

    Olá Andre Ricardo, conseguiu resolver Wink
    Obrigado pelo retorno, os utilizadores do fórum agradecem.
    Abraço

      Data/hora atual: Qua 07 Dez 2016, 08:39