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]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 ...
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4281
    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.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4281
    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)
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4281
    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.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4281
    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)
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4281
    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.

    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4281
    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)
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4281
    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)..
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4281
    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: Qui 17 Ago 2017, 02:52