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


2 participantes

    [Resolvido]Somar Campos de registros diferentes

    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]Somar Campos de registros diferentes Empty [Resolvido]Somar Campos de registros diferentes

    Mensagem  pengo 6/5/2014, 20:53

    Boa Tarde Pessoal,

    Tenho um formulário, onde é possível alterar um campo, e após altera-lo, gostaria que o access buscasse na minha tabela se existem registros iguais, e somasse outros campos desse registro.

    Bom vamos a um exemplo para facilitar o entendimento.

    Supondo que na minha tabela os dados estejam conforme abaixo.

    Codigo1 --- Valor --- Codigo2 --- Valor --- Soma
    -----1 -----------10----------8 -----------5 ----------
    -----2 -----------20---------15 ----------15 ---------
    -----3 -----------30----------1 ----------25 ---------35
    -----4 -----------40----------5 ----------35 ---------85
    -----5 -----------50----------7-----------45 ---------

    Pois, minha dúvida é. Após atualizar qualquer um dos meus registros no meu formulário, que no caso alterariam somente o valor referente ao codigo2, gostaria que no evento após atualizar o access buscasse nessa minha tabela os registros que possuem os códigos iguais, ou seja, quando codigo1=Codigo2, e quando ele encontrasse essa situação, ele somasse os campos com valor referencia.

    No caso da minha tabela de exemplo, gostaria que ele somasse o valor 10 da segunda coluna com o valor 25 da quarta coluna, pois os códigos dos dois são iguais, ambos 1, e fizesse o mesmo para o valor 50 da segunda coluna e o valor 35 da quarta coluna, pois os códigos são iguais, ambos 5. Após realizar essa soma, armazenar o valor no campo soma (como esta no exemplo) da minha tabela, mas que de referencia ao Codigo 2.

    Vale ressaltar que nessa minha tabela de exemplo, os valores do campo Codigo1 nunca iriam se repetir, já o campo do Codigo2 poderiam se repetir, por isso preciso que o resultado da soma, saia referente ao Codigo2.

    Alguém poderia me ajudar?

    Sei que é meio confuso, mas achei alguma coisa sobre DLookup que parece que funcionaria, mas não sei como fazer a referencia para ele somar os valores que desejo.

    Desde já agradeço pela ajuda.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 7/5/2014, 06:37

    poste seu banco zipado, fica melhor pra te ajudar
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 7/5/2014, 17:03

    Veja o exemplo em anexo se serve
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentSomaCodigosIguais.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (18 Kb) Baixado 29 vez(es)
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  pengo 8/5/2014, 13:30

    Meu amigo clebergyn,

    Muito obrigado por sua ajuda, utilizando o seu exemplo eu resolvi grande parte do meu problema, tentei ontem depois que você me passou por muito tempo, e não conseguia adaptar a minha realidade, mas hoje pela manhã eu consegui, e fica aqui o meu agradecimento.

    Bom, por oportuno, gostaria de pedir mais uma ajuda ao colega, seguindo o exemplo, eu consegui fazer a soma, agora o que eu preciso, é fazer é gravar esses novos dados no banco de dados, tentei da seguinte forma, mas não está funcionando, teria alguma solução?

    CurrentDb.Execute "UPDATE Cad_Tratamentos SET Data_Prevista= DataPrev WHERE DPesquisa('[Data_Prevista]';'Cad_Tratamentos';'[código2]= & [codigoref] & ');"

    Pelo que eu estou tentando fazer é, gravar na minha tabela Cad_Tratamentos no campo Data_Prevista a minha nova data prevista que está no campo DataPrev, porém ele deve gravar respeitando as condições que seriam somente quando o campos código2 for igual ao campo codigoref, para isso estou utilizando novamente o seu exemplo, mas não está funcionando.

    Seguindo a minha lógica, teria como fazer isso??

    Muito Obrigado.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 8/5/2014, 15:49

    poste seu banco de dados zipado aqui para te ajudar melhor
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  pengo 8/5/2014, 16:05

    Olá clebergyn,

    Segue o meu banco de dados, deixei somente a tabela, consulta e formulário pertinente.

    Sei que está meio bagunçado, mas acho que você vai conseguir entender.

    Tenho a Tabela que armazena os dados;
    A consulta, onde utilizei o seu exemplo para conseguir gerar uma nova data;
    E o Formulário, (Os campos em Verde, serão ocultos quando estiver tudo funcionando), nesse formulário, ao escolher uma nova Data Prevista, se você observar, ele gera uma Nova Data prevista para o campo correspondente, porém, o que eu desejo agora, é gravar essa nova data prevista para este campo que foi gerado, e armazenar ela na minha tabela de origem, no campo Data_Prevista, então, com isso, o valor que está nesse momento aparecendo em Nova Data Prevista no formulário, iria ser exibido em Data Prevista.

    Meio confuso a primeira vista, mas com o formulário aberto acredito que você conseguirá me entender.


    Desde já muito obrigado pela sua ajuda.
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 5 vez(es)
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 8/5/2014, 16:47

    veja ai em anexo se é issso mesmo, clique na consulta atualizar... que vai atualizar a data prevista, é so criar um botão e mandar executar esta consulta ok
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (45 Kb) Baixado 11 vez(es)
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  pengo 8/5/2014, 17:55

    Olá Cleber,

    Fiz conforme você falou, mas o problema persiste, ele não grava a nova data no campo Data_Prevista.

    Segue o Banco de dados com as alterações que você sugeriu, porém, ao invés de criar o botão, eu adicionei o comando via vba no evento ao perder o foco. (Fiz o teste criando o botão, e mesmo assim não funcionou.)

    Você poderia dar mais uma olhada para ver onde está o erro?

    Obrigado.
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (67 Kb) Baixado 3 vez(es)
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 9/5/2014, 02:34

    ele esta atualizando a dataprev e não a dataprevista, delete o valor da dataprev na tabela e veja que ele vai atualizar a dataprev no registro, em que o codigo2 é igual ao codigoref, e no registro do codigoref
    se voce quer diferente é so me falar ai a ordem, que que muda é a dataprevista ou a dataprev?
    outra coisa, voce esta usando uma consulta no formulario e nao uma tabela e a consulta ja traz o resultado da dataprev, o evento "mover foco" nem sempre funciona neste seu formulario, coloquei a funçao tb ao clicar no rotulo "Nova Data Prevista"

    preciso de uma definiçao
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (37 Kb) Baixado 3 vez(es)
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  pengo 9/5/2014, 12:52

    Bom dia Cleber,

    Realmente ele está atualizando o dataprev, fiz uma alteração na consulta atualização, mudei o campo para Data_Prevista, e agora ele até altera no campo certo, porém ainda existem erros.

    Aquela função que você colocou no rotulo não vai funcionar, porque tudo que está em verde, eu pretendo deixar invisível quando o formulário ficar pronto.

    Bom referente aos erros, o formulário está gravando somente a data calculada no campo Data_Prevista, e eu gostaria que ele gravasse a data que eu escolhi, e também a data calculada, ou seja, todos os registros de Data_Prevista ficariam preenchidos, pois, no meu relatório ele vai usar essa Data_Prevista para mostrar para o usuário.

    Estamos chegando perto, poderia me dar mais essa ajuda?
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (57 Kb) Baixado 4 vez(es)
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 9/5/2014, 19:56

    a "data que voce escolheu" em qual campo voce escolhe? é na "data aplicada" ?
    voce quer jogar a "data calculada" na "data prevista" de acordo com aquela consulta e nos registros com a "data prevista" ficou vazia voce quer inserir a data escolhida isso?
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  pengo 9/5/2014, 20:07

    Boa Tarde Cleber,

    É isso mesmo.

    a "data que voce escolheu" em qual campo voce escolhe? é na "data aplicada" ?
    Eu escolho no campo Data Prevista, pois quando eu abro inicialmente o formulário, algumas datas previstas virão em branco, e então eu irei escolher a data prevista, e com isso o restante do formulário será recalculado.

    voce quer jogar a "data calculada" na "data prevista" de acordo com aquela consulta e nos registros com a "data prevista" ficou vazia voce quer inserir a data escolhida isso?
    Meio confuso, mas acho que é isso mesmo. Como eu falei acima, quando eu abrir meu formulário, algumas datas vão estar em branco, então eu irei selecionar uma data, blz, essa data selecionada deverá ser gravada na minha tabela, porém, algumas datas serão advindas do calculo, e essas também serão gravadas na tabela.
    Vamos supor que eu abra meu formulário e tenha duas datas em branco, sendo que a primeira não tem nenhuma referencia, e a segunda data, tem como referencia a primeira, então eu vou selecionar a primeira data, e a segunda será calculada de acordo com a primeira, pois existe um campo de referencia entre as duas, e com isso as duas novas datas serão gravadas na tabela e exibidas no meu formulário.


    Meio confuso confesso, mas acredito que estamos chegando perto.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 9/5/2014, 20:44

    do jeito que voce montou seu suformulario fica muito estranho e conflitante pois voce usa o campo, "dataprevista" que ja foi preenchido "na consullta calculada", para gerarar uma nova data a preencher as datasprevistas vazias(pode gerar conflito), entao qual é a solução, voce criar um campo "data aplicada" no cabeçalho do formulario e assim que for preenchido ele fara o preenchimento das datas vazias na "dataprevista"
     
    fiz ai em anexo, coloquei função junto no "ao focar" e tambem coloquei em "ao clicar duas vezes" no campo dataprevista
     
    mas o mais correto seria conforme coloquei acima
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (34 Kb) Baixado 4 vez(es)
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  pengo 9/5/2014, 21:02

    Desde já agradeço Cleber,

    Mas isso está ficando confuso até pra mim kkkkkkkkkkkk
    Bom, desse jeito que você me mandou, não está funcionando como eu gostaria também.
    Eu penso que não daria conflito, pois foi justamente por isso que eu coloquei um codigoref ou seja, ele teria que efetuar os cálculos somente nesses campos referenciados, e os demais permanecer como estão.

    Teria outra forma de fazermos essa calculo, tirar ele da consulta e passar direto para o formulário, ou alguma outra forma, em que eu possa trabalhar somente com um campo de data prevista?

    Obrigado Cleber pelo seu empenho.
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 9/5/2014, 23:04

    primeiro vamos para as entradas
    os dados da tabela "Cad-Tratamentos" voce vai digitar os dados ou ja vem prontos de outra planilha ou programa? no seu programa voce vai fazer so os calculos ou vai digitar tb os dados da tabela continuamente?
     
     
    Sabe o que estamos fazendo, digitando um dado na dataprevista ao mesmo tempo executando uma funçao para alterar a data prevista e inserir valores nas datasprevista de acordo com valor da dataprevista e fazendo o calculo ciclicamente. por isso pra começo, defina o que te pedi acima
     
    fiz em anexo, mas não delete o campo "datatemp" pois uso ele intermediariamente, faço 3 consultas:
    1ª consulta=> coloca na datatemp a data somada segundo os codigos e coloca vazio caso nao coincidir os codigos
    2ª consulta=> coloca os valores da datatemp na dataprevista inclusive os vazios
    3ª consulta=> coloca o valor da dataaplicada nas dataprevistas vazias
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentSomaCodigos-BD1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (40 Kb) Baixado 5 vez(es)
    avatar
    Clebergyn
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 788
    Registrado : 29/08/2012

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Clebergyn 12/5/2014, 20:34

    é neste anexo que eu uso a datatemp, troque o outro por este, pois no outro eu uso a "dataprev" e talvez voce precise dela, entao use este anexo
    Anexos
    [Resolvido]Somar Campos de registros diferentes AttachmentSomaCodigos-BD1.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (43 Kb) Baixado 12 vez(es)
    pengo
    pengo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 85
    Registrado : 10/12/2013

    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  pengo 19/5/2014, 16:02

    Bom dia Cleber,

    Desculpe pela demora em lhe retornar, é que eu abri um tópico na parte de VBA, para tentar resolver o problema que eu estava passando, e finalmente consegui resolver, através do VBA, mas quero deixar aqui meus agradecimentos pela sua ajuda, pois os seus exemplos me ajudaram a resolver outros problemas no meu banco de dados.

    Para quem quiser consultar, a resolução está no tópico http://maximoaccess.forumeiros.com/t18664-resolvidosomar-datas-e-preencher-registros-usando-loop#139597

    Muito obrigado pela sua ajuda e empenho Cleber.

    Conteúdo patrocinado


    [Resolvido]Somar Campos de registros diferentes Empty Re: [Resolvido]Somar Campos de registros diferentes

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/11/2024, 16:44