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]Valor quando não inteiro não armazena em variável

    Compartilhe

    Borges918
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 18/06/2015

    [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  Borges918 em Ter 28 Jul 2015, 04:14

    Boa noite  todos os amigos do Fórum,

    Sou novato em programação Access e me deparei com um probleminha no meu projeto.

    Criei duas variáveis D e DTotal em um modulo como publicas para as seguintes funções;

    Variável "D"  recebe um valor retornado de uma tabela via SQL que é multiplicado pelo valor Qtde de uma txt
    o resultado coloquei para armazenar na variável "DTotal" e em seguida gravar em outra tabela.

    O problema ocorre quando o valor do resultado do calculo não é inteiro ex: 0,45 ou 0,60 etc...a variável "DTotal" fica com zero. Se o valor for maior que 1,00 o calculo ocorre normal e a variável armazena o valor do resultado normalmente.

    O que pode ser pessoal? Alguém pode dar um help.

    No modulo;

    Public D As Currency
    Public DTotal As Currency


    No Calculo;

    DTotal = Val(txtQtde) * D

    A Pessoal apenas uma Observação. A variável D armazena o resultado da tabela normalmente mesmo quando não é um valor inteiro.

    Fico grato a quem puder dar uma ajuda.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  ahteixeira em Ter 28 Jul 2015, 12:08

    Olá, verifique a formatação, pode ser problema de casas decimais.
    Também pode tentar assim:

    Código:
    DTotal = CDbl(txtQtde) * D

    Abraço

    Borges918
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 18/06/2015

    Re: [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  Borges918 em Qua 29 Jul 2015, 04:07

    Olá amigo,

    Obrigado pelo retorno! Agora o valor armazena na variável certinho, porém começou a dar outro erro.
    Na instrução de inserção na tabela ocorre o seguinte erro "Números de valores e campos de destino não coincidem"
    O erro só ocorre quando o valor é zero virgula alguma coisa ex: 0,50 ou 0,75 etc... se o valor for inteiro 1,2,3...34,35 o código executa sem problemas.
    Já tentei executar de todas as formas que conheço. Olhei e re-olhei
    varias vezes as formatações, coloquei tudo no formato moeda na tabela e as variáveis declaradas
    também como moeda, Todo o resto do código está funciona normalmente.

    Não sei mais aonde olhar Crying or Very sad

    Grato pela atenção.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  ahteixeira em Qua 29 Jul 2015, 10:03

    Olá, verifique o tipo de dados do respectivo campo na estrutura da tabela.
    Se possível, poste pequeno exemplo do que está acontecer para ser mais fácil qualquer utilizador aqui do fórum ajudar.
    Abraço


    joaquimboroma
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 98
    Registrado : 04/06/2014

    Re: [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  joaquimboroma em Qua 29 Jul 2015, 12:14

    Oi
    experimente tb usar o formato "duplo".

    Borges918
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 18/06/2015

    Re: [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  Borges918 em Qua 29 Jul 2015, 22:24

    Olá Amigos,

    Obrigado pela ajuda.

    Já tentei de todos os jeitos que sei.

    Já chequei os campos da tabela, mudei para duplo como o amigo Joaquim mencionou, para moeda para inteiro, ou seja,
    já usei todos os formatos numéricos na tabela e em campos de texto dos form deixei-os iguais de varias formas referente a numéricos.

    Este problema esta, acredito que no projeto todo, pois criei um outro campo para teste e se for número inteiro sem problemas grava no banco
    certinho, mas se tiver número quebrado como mencionei anteriormente da o bendito erro "Números de valores e campos de destino não coincidem"

    O arquivo passou os 5 mg não consigo colocar aqui, mas se for permitido faço upload e posto o link para download aqui.

    É um sisteminha simples para ajudar um amigo que abriu uma lojinha para revender água. Ele esta precisando para o controle das vendas.

    Abraço a todos!

    Borges918
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 10
    Registrado : 18/06/2015

    Re: [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  Borges918 em Qui 30 Jul 2015, 02:39

    Boa Noite Amigos,

    Resolvido!!

    Não sei se foi a melhor opção, porém resolvi utilizando a função replace.

    Ex:

    Código:
    replace(txtValor,",",".")

    o Access não aceita virgula, apenas pontos e como os campos estão formatados como moeda a virgula vem automática
    assim troquei a virgula por ponto no exemplo acima deu certo.


    Obrigado pela ajuda de todos.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  ahteixeira em Qui 30 Jul 2015, 08:15

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

    joaquimboroma
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 98
    Registrado : 04/06/2014

    Re: [Resolvido]Valor quando não inteiro não armazena em variável

    Mensagem  joaquimboroma em Qui 30 Jul 2015, 12:35

    È bom teres resolvido mas devia ser automatico. Tentaste definir o n0 d casas decimais na tabela/form ? Podias postar os 2 objetos ?!

      Data/hora atual: Seg 05 Dez 2016, 04:26