MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 30/4/2020, 01:41

    Grandes Mestres,

    Está me faltando lógica ou raciocínio para:
    Agrupar ou ler parte de uma tabela do 1º ao 15º registro e fazer somatórios de alguns campos do registro e gravar em campo no 15º registro;
    Após: Agrupar ou ler parte de uma tabela do 2º ao 16º registro e fazer somatórios de alguns campos do registro e gravar em campo no 16º registro;
    Após: Agrupar ou ler parte de uma tabela do 3º ao 17º registro e fazer somatórios de alguns campos do registro e gravar em campo no 17º registro;
    Após: Agrupar ou ler parte de uma tabela do 4º ao 18º registro e fazer somatórios de alguns campos do registro e gravar em campo no 18º registro;
    Pode ser gravando esses somatórios em campo na mesma tabela ou tabela auxiliar que deve ficar relacionada ao intervalo.
    Acho que isso só via código VBA.

    Alguém pode ajudar?

    Muito grato, grande abraço.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Alexandre Neves em 30/4/2020, 15:50

    Boa tarde
    Este assunto não é o que já está abordado noutro tema?
    Se sim, dê continuidade ao anterior e não repita assuntos.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 30/4/2020, 16:03

    Caro Alexandre,

    Na realidade este tópico tem haver com outro em questão. O problema é que fui tentando ajudar, fiz parte, o amigo do tópico acrescentou mais uma perninha, ajudei novamente, agora com a nova perninha solicitada é que peço ajuda. Aí abri esse tópico exclusivo com parte do outro problema.
    Seria possível uma luz disso solicitado para eu dá continuidade na ajuda do outro tópico? Conheço bem as regras do forum e achei que isso passaria como novo tópico. Seria pedir ajuda para poder ajudar o outro.
    Espero ter entendido.
    Fico no aguardo, grande abraço.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Alexandre Neves em 30/4/2020, 18:08

    Acabei por não entender se precisa de ajuda ou quer participar na ajuda ao colega
    Se é para participar na ajuda ao colega, é melhor acompanhar a dúvida e contribuir com a parte possível mas não proliferar as dúvidas
    Se está a pedir ajuda para necessidade comum de outro colega, continuemos com a dúvida do colega que, afinal, é a mesma
    Aproveito para lembrar que não participei na dúvida por não disponibilizar dados representativos


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 30/4/2020, 18:15

    Amigo,

    Já dei o outro poste como resolvido. Podes me ajudar nesse?

    Agradeço

    Abraços
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 30/4/2020, 19:13

    Caro Alexandre,

    Os dados representativos que se refere seria isso?

    Reg Valor Soma Explicação
    1 0
    2 500
    3 600
    4 25
    5 13
    6 0
    7 800
    8 200
    9 100
    10 20
    11 300
    12 100
    13 14
    14 0
    15 47 2719 Soma dos 15 últimos valores até aqui
    16 13 2732 Soma dos 15 últimos valores até aqui
    17 500 2732 Soma dos 15 últimos valores até aqui
    18 20 2152 Soma dos 15 últimos valores até aqui
    19 41 2168 Soma dos 15 últimos valores até aqui
    20 96 2251 Soma dos 15 últimos valores até aqui
    21 38 2289 Soma dos 15 últimos valores até aqui
    22 25 1514 Soma dos 15 últimos valores até aqui
    23 14 1328 Soma dos 15 últimos valores até aqui


    Seria isso? Muito grato.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Alexandre Neves em 30/4/2020, 19:24

    Pelo que vejo, não indica data, como saber últimos 15 dias?
    Os dados precisam estar em tabela para se trabalhar. Como indico na assinatura, não peça para fazer o que já tem feito. Dê todos os detalhes necessários


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 30/4/2020, 19:53

    Caro amigo,

    Estou enviado só a tabela. Queria somar os lançamentos na tabela nos últimos 15 dias e gravar no campo SomaDos15. Sendo mais claro: no 15º registro apareceria a primeira soma. No 16º registro a soma do 2º até 16º valor. No 17º registro a soma do 3º até 17º valor.
    Deu para entender?

    Muito grato.
    Anexos
    [Resolvido]Agrupar parte determinada em tabela e fazer somatório AttachmentTabelaSomaZip.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (19 Kb) Baixado 6 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Alexandre Neves em 30/4/2020, 22:58

    Estou enganado ou os dados não correspondem ao problema?
    Soma de registos gravados nos últimos 15 dias, só temos 2 registos que têm menos de 15 dias de intervalo e como são apenas 2 registos e a soma só deve aparecer no 15º registo da sequência, não existe soma para os dados apresentados
    Ou é outra coisa?
    Repare que para este tipo de situações os registos devem ser feitos sequencialmente na tabela, o que não acontece no caso, tem registos feitos posteriormente com datas anteriores
    Normalize os nomes. Pode criar situações erróneas nos cálculos. Data é Data ou é o campo Data? O Access pode-se confundir e assumir diferente do que se pretende
    Reveja e informe


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 1/5/2020, 15:00

    Caro Amigo,

    Fiz as devidas alterações recomendadas. DataMov é tipo data mesmo (troquei nome para não confundir com palavras reservadas do Access). Classificado por datas, fazer somatório dos últimos 15 lançamentos, independente de ter mais de um lançamento no mesmo dia.
    Espero ter sodo mais claro.

    Muito obrigado.

    Abraço
    Anexos
    [Resolvido]Agrupar parte determinada em tabela e fazer somatório AttachmentTabelaSoma010520.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (26 Kb) Baixado 4 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Alexandre Neves em 1/5/2020, 17:46

    Boa tarde
    Utilize a função que lhe criei
    Código:
    Function Soma15(Codigo As Long) As Double
        '--------------------------------------------------------------'
        '  código criado por Alexandre Neves, do Fórum MaximoAccess  '
        '    utilize o código livremente mas mantenha os créditos    '
        '--------------------------------------------------------------'
        Dim Rst As DAO.Recordset, X As Byte
        Set Rst = CurrentDb.OpenRecordset("SELECT * FROM TabelaMov ORDER BY Codigo")
        Rst.FindFirst "Codigo=" & Codigo
        If Rst.AbsolutePosition < 14 Then Exit Function
        For X = 1 To 15
            If Rst.BOF Then Exit For
            Soma15 = Soma15 + Rst("Valor")
            Rst.MovePrevious
        Next
    End Function
    execute a consulta
    SELECT Codigo, DataMov, Valor, Soma15(Codigo) as SomaDos15 FROM TabelaMov


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 1/5/2020, 18:20

    Grande Alexandre,

    Muito grato pelo seu trabalho. Vou testar e dou retorno.
    Muito obrigado mesmo.

    Grande abraço.

    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 1/5/2020, 18:51

    Grande Mestre,

    Testei, funcionou perfeitamente. Agora vou estudar o código com detalhes.

    Só mais um pedido. Seria possível descrever no final de cada linha do código o que aquilo está fazendo. É para meu aprendizado. 80% daquilo eu conheço, porém tem uns itens que não conheço o suficiente.


    Muito obrigado.

    Grande abraço.

    Resolvido.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Alexandre Neves em 1/5/2020, 20:09

    Código:
    Function Soma15(Codigo As Long) As Double
        '--------------------------------------------------------------'
        '  código criado por Alexandre Neves, do Fórum MaximoAccess  '
        '    utilize o código livremente mas mantenha os créditos    '
        '--------------------------------------------------------------'
        Dim Rst As DAO.Recordset, X As Byte 'definição de variáveis
        Set Rst = CurrentDb.OpenRecordset("SELECT * FROM TabelaMov ORDER BY Codigo") 'cria conjunto de registo para trabalho
        Rst.FindFirst "Codigo=" & Codigo 'localiza o registo no conjunto de registos
        If Rst.AbsolutePosition < 14 Then Exit Function 'não considera se for dos primeiros 15 registos
        For X = 1 To 15 'faz ciclo de 15 registos
            If Rst.BOF Then Exit For 'sai do ciclo se chegar ao início da tabela
            Soma15 = Soma15 + Rst("Valor") 'soma com o valor do registo do ciclo
            Rst.MovePrevious 'move para registo anterior
        Next
    End Function
    Abraço,


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 1/5/2020, 20:17

    Grande Amigo,

    Muito obrigado. Estou sempre aprendendo com os grandes Mestres.

    Forte abraço

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Alexandre Neves em 1/5/2020, 20:26

    Também pode utilizar SQL
    SELECT Codigo, DataMov, Valor, (SELECT Sum(Valor) as Soma FROM TabelaMov as T2 WHERE T1.Codigo>14 and Codigo between t1.codigo and t1.codigo-14 ) AS SomaDos15
    FROM TabelaMov as T1;


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 1/5/2020, 21:55

    Caro Alexandre,

    Vou testar / estudar mais isso.

    Muito obrigado por tudo

    Grande abraço

    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 2/5/2020, 16:40

    Caro Alexandre,

    Desculpe volta com o mesmo problema. Fiquei tão empolgado com sua resolução que não prestei atenção do campo SomaDos15 da TabelaMov. Esse campo deveria ser gravado com o código. Está só na consulta. Ainda pode ajudar? Isso estava na solicitação inicial.
    Estava lá descrito: "Pode ser gravando esses somatórios em campo na mesma tabela ou tabela auxiliar que deve ficar relacionada ao intervalo."

    Muito grato

    Abraços
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7779
    Registrado : 05/11/2009

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Alexandre Neves em 2/5/2020, 21:51

    Boa noite
    Reavalie, pois campos calculados não devem ser gravados, excepto casos muito especificos, que não me parece o caso


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Finformática
    Finformática
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 602
    Registrado : 23/03/2010

    [Resolvido]Agrupar parte determinada em tabela e fazer somatório Empty Re: [Resolvido]Agrupar parte determinada em tabela e fazer somatório

    Mensagem  Finformática em 3/5/2020, 01:11

    Grande Mestre,

    Valeu por tudo, vou usar suas instruções e fazer o que desejo.

    Muito grato.

    Abraços

      Data/hora atual: 24/11/2020, 08:44