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

    Erro ao somar Centavos - Campos Não Acoplados

    Compartilhe

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  JFRCecilio em Qui 25 Maio 2017, 14:27

    Bom dia a todos...
    De imediato já quero agradecer pela ajuda que sei que terei... Obrigado!

    Tenho um formulário com vários campos não acoplados (vou anexar) os quais retem dentre outras coisas, os valores monetários referentes aos cursos escolhidos no atendimento.

    Entretanto, a soma não está somando os CENTAVOS. Tentei fazer a soma usando expressões como esta abaixo, mas ele não soma os centavos:

    =Format(Val(Nz([valorMod01];0))+Val(Nz([valorMod02];0))+Val(Nz([valorMod03];0))+Val(Nz([valorMod04];0))+Val(Nz([valorMod05];0))+Val(Nz([valorMod06];0))+Val(Nz([valorMod07];0))+Val(Nz([valorMod08];0))+Val(Nz([valorMod09];0))+Val(Nz([valorMod10];0))+Val(Nz([valorMod11];0))+Val(Nz([valorMod12];0))+Val(Nz([valorMod13];0))+Val(Nz([valorMod14];0))+Val(Nz([valorMod15];0))+Val(Nz([valorMod16];0))+Val(Nz([valorMod17];0))+Val(Nz([valorMod18];0))+Val(Nz([valorMod19];0))+Val(Nz([valorMod20];0));'Moeda')

    Como proceder?
    Anexos
    Cadastro Matrix-25Maio.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (602 Kb) Baixado 8 vez(es)
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Qui 25 Maio 2017, 18:09

    Olá...

    Teste alterando a formula da fonte de controle para:
    Código:
    =Nz([valorMod01];0)+Nz([valorMod02];0)+Nz([valorMod03];0)+Nz([valorMod04];0)+Nz([valorMod05];0)+Nz([valorMod06];0)+Nz([valorMod07];0)+Nz([valorMod08];0)+Nz([valorMod09];0)+Nz([valorMod10];0)+Nz([valorMod11];0)+Nz([valorMod12];0)+Nz([valorMod13];0)+Nz([valorMod14];0)+Nz([valorMod15];0)+Nz([valorMod16];0)+Nz([valorMod17];0)+Nz([valorMod18];0)+Nz([valorMod19];0)+Nz([valorMod20];0)

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Continua o erro...

    Mensagem  JFRCecilio em Ter 30 Maio 2017, 20:19

    Olá...
    Obrigado pela ajuda, mas vc viu o bd no access?

    Ele dá erro por conta dos outros campos....
    em suma se eu mudo uma coisa, a outra pára de funcionar.

    Ele soma os centavos, mas agora o campo não permite ficar vazio quando volto apagando...
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Qua 31 Maio 2017, 15:08

    Olá...

    Apenas a titulo de informação:
    A função Val() não reconhece as virgulas como numéricos, então quando você tem um valor com virgula ele não vai reconhecer oque vier depois da virgula.
    Como o campo calculado esta com valor Monetário você não deve usar esta função.

    Você me perguntou se eu vi seu BD, Sim eu vi.

    Você disse:
    Ele dá erro por conta dos outros campos....
    em suma se eu mudo uma coisa, a outra pára de funcionar.


    Então detalhe qual erro esta dando para que possamos entender

    Você disse:
    Ele soma os centavos, mas agora o campo não permite ficar vazio quando volto apagando...


    Não permite porque você definiu os campos como bloqueados e as combobox você esta definindo como igual a uma coluna específica, para ela ficar vazia terá que fazer um tratamento para o erro apresentado ao deletar ex: On Error Resume Next (Isto quer dizer que Quando ocorrer um erro, a execução continua na linha seguinte a linha que ocorreu o erro.)

    Aguardo mais informações

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Olá Celso Roberto...

    Mensagem  JFRCecilio em Qui 01 Jun 2017, 21:16

    Boa tarde...

    Peço que não me entenda mal... texto depende da interpretação de cada um e eu não estava querendo parecer rude ao perguntar se você havia visto o BD. Perguntei isso, pois achei que assim você teria visto o problema...

    Esclarecido isso...Vamos lá...

    Não sou um conhecedor de Access, mas consigo me virar com a ajuda de vocês aqui do fórum em especial (JPaulo e Ahteixeira)...

    Como deve ter visto, nas CBOX eu apliquei estes códigos VBA:

    Private Sub cboMod01_Click()
       Me.txtvalorMod01.Value = cboMod01.Column(2)
       Me.duraMod01.Value = cboMod01.Column(3)
    End Sub


    Até aí tudo bem, eu podia preencher e apagar quando quisesse que tudo funcionava bem, mas havia os centavos.
    Então, seguindo a sugestão de um colega aqui do fórum, adicionei o comando CDbl...
    Private Sub cboMod01_Click()
       Me.txtvalorMod01.Value = CDbl(cboMod01.Column(2))
       Me.duraMod01.Value = cboMod01.Column(3)
    End Sub

    Entretanto, ao colocar isso eu seleciono os cursos do interessado. Ex: Windows, Word e Excel e ele apresenta os valores individuais, mas se eu tentar tirar um curso, tipo ele quiser tirar o Excel dá erro dizendo que o campo não pode ficar Null e pede pra DEPURAR.


    No campo Valor Total do Curso ele deveria claro, aparecer a soma total dos módulos selecionados nas Cbox, então criei este código:

    =Format(Val(Nz([valorMod01];0))+Val(Nz([valorMod02];0))+Val(Nz([valorMod03];0))+Val(Nz([valorMod04];0))+Val(Nz([valorMod05];0))+Val(Nz([valorMod06];0))+Val(Nz([valorMod07];0))+Val(Nz([valorMod08];0))+Val(Nz([valorMod09];0))+Val(Nz([valorMod10];0))+Val(Nz([valorMod11];0))+Val(Nz([valorMod12];0))+Val(Nz([valorMod13];0))+Val(Nz([valorMod14];0))+Val(Nz([valorMod15];0))+Val(Nz([valorMod16];0))+Val(Nz([valorMod17];0))+Val(Nz([valorMod18];0))+Val(Nz([valorMod19];0))+Val(Nz([valorMod20];0));'Moeda')

    **usando a função VAL, pois entendi que ela converte o valor para o tipo adequado ao campo, mas realmente a VAL não permite casas decimais.** PROBLEMA!!!

    O porém é que se eu retirar a VAL, dá o erro #Tipo! no campo Valor Total do Curso e não sei como resolver.

    **Alguns campos como: Valor R$ e Duração Hrs: eu bloqueei, pois a secretária não deve ter a chance de altera-los... eles vem de uma tabela e definidos pelos proprietários.**


    COMO FUNCIONARIA ESTE FORM?
    Só para que entenda, este formulário será usado quando a pessoa chega na recepção da escola a procura de cursos...
    Se ela se matricular, a moça deveria clicar no botão CADASTRAR ALUNO(A) para que ele fosse adicionado ao cadastro de alunos (tb_alunos) já fazendo uso de todos os dados (cursos escolhidos, horários, datas, vencimentos, contratantes (tb_contratantes), etc.
    Se ele não se matricular, deveria clicar em POR NO ATENDIMENTO para que futuramente pudéssemos entrar em contato...


    Indo por partes, como eu posso fazer com que o campo Valor Total do Curso exiba os centavos corretamente? O que devo mudar?

    Poderia fazer as alterações no BD e disponibilizar para eu ver?

    Obrigado pela ajuda...

    Abraço!
    Anexos
    Cadastro Matrix-01-06.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (660 Kb) Baixado 3 vez(es)
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Sex 02 Jun 2017, 00:12

    Ola...

    Meu amigo fique tranquilo, de maneira nenhuma levei a mal a sua pergunta.
    Eu não tinha incluido e excluido itens para ver erros, apenas me apeguei na sua duvida que era somar os centavos.
    Acabei de chegar em casa e vou tomar um banho e jantar, te prometo que vou verificar e te retorno

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  JFRCecilio em Sex 02 Jun 2017, 01:48

    Boa noite Celso...
    Eu fico feliz em saber que você me entendeu. Obrigado.

    Olha só, eu consegui resolver assim.... veja o que acha, pois aceito opções e mais conhecimentos...

    Li um post aqui do fórum: [Você precisa estar registrado e conectado para ver este link.]
    e testei a conversão.

    Mantive tudo como havia feito no post anterior, apenas adicionando o CMoeda = Ccur em Inglês antes de cada campo.

    =CMoeda(Nz([txtvalorMod01];0))+CMoeda(Nz([txtvalorMod02];0))+CMoeda(Nz([txtvalorMod03];0))+CMoeda(Nz([txtvalorMod04];0))+CMoeda(Nz([txtvalorMod05];0))+CMoeda(Nz([txtvalorMod06];0))+CMoeda(Nz([txtvalorMod07];0))+CMoeda(Nz([txtvalorMod08];0))+CMoeda(Nz([txtvalorMod09];0))+CMoeda(Nz([txtvalorMod10];0))+CMoeda(Nz([txtvalorMod11];0))+CMoeda(Nz([txtvalorMod12];0))+CMoeda(Nz([txtvalorMod13];0))+CMoeda(Nz([txtvalorMod14];0))+CMoeda(Nz([txtvalorMod15];0))+CMoeda(Nz([txtvalorMod16];0))+CMoeda(Nz([txtvalorMod17];0))+CMoeda(Nz([txtvalorMod18];0))+CMoeda(Nz([txtvalorMod19];0))+CMoeda(Nz([txtvalorMod20];0))

    E então? o que acha??

    Muito obrigado!
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Sex 02 Jun 2017, 02:19

    Olá..
    anexe o bd com estas alterações, estava verificando este ultimo que anexou e vi que voce fez alterações em nome de campos de não alterou a expressão no critério do campo, por isto esta dando erro

    Aguardo


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Sex 02 Jun 2017, 22:47

    Olá, tudo bem..

    Vamos corrigir mais um detalhe?

    Não sei se você percebeu, que após inserir o curso o campo Valor esta ficando com formato Errado.
    Para corrigir este detalhe faça o seguinte:
    Na linha de origem das combobox troque o select por este
    Nota: tem que alterar todas as combos.

    Código:
    SELECT tb_cursos.Código, tb_cursos.[Curso:], Format([Valor:],"Currency") AS Valor1, tb_cursos.[Duração:]
    FROM tb_cursos
    ORDER BY tb_cursos.[Curso:];


    Te aconselho também a alterar os códigos do evento ao clicar para o evento Após atualizar

    Após esta correção e se estiver tudo OK, Não esqueça de de Encerrar o Tópico para ajudar outros usuários que por ventura tenha a mesma dúvida

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Qua 07 Jun 2017, 02:35

    Olá...

    Conseguiu resolver?

    Continuamos aguardando o seu retorno

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Bom dia...

    Mensagem  JFRCecilio em Sex 09 Jun 2017, 14:42

    Desculpe, estava ausente e não puder verificar os itens acima...

    Estou fazendo isso neste momento e já lhe respondo.

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Uma dúvida...

    Mensagem  JFRCecilio em Sex 09 Jun 2017, 15:40

    Eu já alterei o que me pediu, ficou bem melhor mesmo.

    Entretanto, não troquei ao ao clicar para o Após atualizar, pois surgiu uma dúvida...

    Por que deveria trocar para Após atualizar e...

    Por que quando troco isso ele apaga o código?
    Fui no código e troquei o click() para AfterUpdate(), mas aí ele zera o campo apagando as propriedades...

    Preciso digitar tudo novamente?

    Obrigado
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Sex 09 Jun 2017, 17:37

    Olá...

    O ideal é a combo executar este evento no Após atualizar é porque primeiro você seleciona o curso desejado, então após isto ele executa o código e ai ele só volta a executar em uma provável alteração.

    No evento ao clicar, se por ventura você ou o usuário ficar clicando no campo ele vai ficar executando o evento sem necessidade, com isto o sistema fica mais pesado.

    Mas é questão de Gosto, fica ao seu critério.

    Quanto você alterar colando o AfterUpdate() em cima do Click() talvez o procedimento no evento do campo pode ficar em branco, então é só ir no enento do campo expandir e selecionar o procedimento de Evento que estará normal.

    Aguardo retorno

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Bom dia...

    Mensagem  JFRCecilio em Seg 12 Jun 2017, 13:02

    Corrigi tudo que me falou... deu certo! Coisa linda!!!

    Uma dúvida...

    Você viu o campo término previsto? Ele fica apontando #Tipo quando a data de início esta vazia.
    tentei usar o selmed para resolver o problema, mas sem sucesso.

    Sabe o que eu posso fazer?

    Lembrando que a ideia(pra quem ver isso depois) é que a pessoa chegue na recepção da escola e vá respondendo as perguntas para que possamos preencher esta ficha e dizer a duração do curso, valores, etc. Então, a Data de Término depende da Data de início, por isso está vazia.

    Fico no Aguardo!

    Obrigado e grande abraço!



    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Seg 12 Jun 2017, 16:14

    Olá...

    Para resolver isto faça o seguinte:

    Exclua a expressão da fonte de controle do campo TerminoPrevisto

    Adicione este Me.TerminoPrevisto = DateAdd("m", Me.DuraMeses, (Me.DataInicio)) No evento após atualizar do campo DataInicio

    Aguardo Retorno

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Testando!!!

    Mensagem  JFRCecilio em Ter 13 Jun 2017, 04:18

    Boa noite...

    Após eu apagar os valores a data de Início pra por outra, deu erro em tempo de execução 94 referindo-se a função NULL Inválida.

    Private Sub DataInicio_AfterUpdate()
    Me.TerminoPrevisto = DateAdd("m", Me.DuraMeses, (Me.DataInicio))
    End Sub

    fiz algo errado?

    Adicionei ao campo DataInicio como solicitou e apaguei a fonte do TerminoPrevisto.

    Fico no aguardo...
    Abraço!
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Ter 13 Jun 2017, 14:35

    Olá..

    No exemplo que tenho que foi baixado da mensagem nº 5 não apresentou este problema, anexe o atual para analisar

    Aguardo


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    JFRCecilio
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 19/05/2017

    Pensei em adicionar outros campos pra aqueles que fizerem matrícula em dois cursos..

    Mensagem  JFRCecilio em Ter 13 Jun 2017, 22:48

    Opa... segue o BD... não é nada definitivo, mas já é um começo.
    Anexos
    Cadastro Matrix-13-06.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (652 Kb) Baixado 4 vez(es)
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Qua 14 Jun 2017, 17:09

    Olá...

    Segue bd com correções.

    Se seu bd original for igual a este, mantenha este como original.
    ou verifique as alterações e corrija o seu original, as correções estão em todos os códigos das combos
    que seleciona os cursos e no após atulizar da DataInicio

    Aguardo

    Abraços
    Anexos
    Cadastro Matrix-13-06.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (662 Kb) Baixado 2 vez(es)


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 708
    Registrado : 01/03/2014

    Re: Erro ao somar Centavos - Campos Não Acoplados

    Mensagem  Celso Roberto em Qua 28 Jun 2017, 22:36

    Olá..

    Conseguiu Resolver?

    Estamos aguardando retorno.

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

      Data/hora atual: Sab 18 Nov 2017, 01:07