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

    Saldo acumulado por data

    Compartilhe

    JOSEMORAES
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 23/02/2011

    Saldo acumulado por data

    Mensagem  JOSEMORAES em 10/11/2018, 13:54

    Olá pessoal.

    Preciso de uma ajuda com uma função, onde ideia e acumular o saldo diário por data

    estou utilizando essa função

    SELECT TblLancamento.Lancamento_Id, TblLancamento.Lancamento_DtVencimento, TblLancamento.Lancamento_Favorecido, TblLancamento.Lancamento_Conta, TblLancamento.Lancamento_Valor, Format(DSum("Lancamento_Valor","TblLancamento","[Lancamento_Id]<=" & [Lancamento_Id] & ""),"Currency") AS Saldo
    FROM TblLancamento
    ORDER BY TblLancamento.Lancamento_Id, TblLancamento.Lancamento_DtVencimento;

    Mas o criterio que utilizo é [Lancamento_Id]<=" & [Lancamento_Id] & "") e nao esta dando certo, pois se eu colocar na ordem a coluna data esta dando erro

    Ocorre que como ele faz a referencia a chave primaria (ID), quando eu lanço por exemplo no dia 15 um movimento de caixa
    do dia 10 ele se perde.

    Alguma ajuda por favor ?


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Saldo acumulado por data

    Mensagem  Alexandre Neves em 11/11/2018, 12:28

    Boa tarde
    Experimente com controlo para Lancamento_DtVencimento
    SELECT Lancamento_Id, Lancamento_DtVencimento, Lancamento_Favorecido, Lancamento_Conta, Lancamento_Valor, Format(DSum("Lancamento_Valor","TblLancamento","Lancamento_DtVencimento<=#" & Lancamento_DtVencimento & "#"),"Currency") AS Saldo FROM TblLancamento ORDER BY Lancamento_Id, Lancamento_DtVencimento;


    .................................................................................
    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
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3554
    Registrado : 06/11/2009

    Re: Saldo acumulado por data

    Mensagem  Assis em 11/11/2018, 13:17

    JoseMorais

    Eu para contornar esse problema criei um campo ao qual chamei "Ordenar", e formatei o campo como Data e Hora.

    Como o meu formulário de registar lançamento é desvinculado, ao clicar no botão de gravar eu informo que:

    Me.Ordenar = Me.txtData + Time

    Isto retorna um valor assim: 11-11-2018 13:06:01, e mesmo lançando mais registos no dia 11 será difícil repetir o mesmo

    valor no campo Ordenar, pois não deve conseguir fazer 2 registos no mesmo segundo.

    E posso no dia de hoje, registar fazer lançamentos com datas atrasadas e não tenho problemas.

    Depois  o criterio que utilizo é [Ordenar]<=" & [Ordenar] & "").


    [Você precisa estar registrado e conectado para ver esta imagem.]


    .................................................................................
    *** Só sei que nada sei ***

    JOSEMORAES
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 23/02/2011

    Re: Saldo acumulado por data

    Mensagem  JOSEMORAES em 11/11/2018, 14:29

    Olá

    Me diga, esse campo ordenar na tabela esta como data/hora?

    Mas é dificil fazer como você, porque minhas parcelas são geradas automaticas ou seja, caso eu queira gerar 5 parcelas ficaria assim

    Ordenar
    11/11/2018 12:33:51
    11/11/2018 12:33:51
    11/11/2018 12:33:51
    11/11/2018 12:33:51
    11/11/2018 12:33:51


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3554
    Registrado : 06/11/2009

    Re: Saldo acumulado por data

    Mensagem  Assis em 11/11/2018, 15:45

    Teste
    Somar 1 segundo

    Me.Ordenar = Me.txtData + DateAdd("s", Target.Value, Time)


    .................................................................................
    *** Só sei que nada sei ***

    JOSEMORAES
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 23/02/2011

    Re: Saldo acumulado por data

    Mensagem  JOSEMORAES em 11/11/2018, 18:43

    Tambem não deu certo

    Ordem
    11/11/2018 16:42:57
    11/11/2018 16:42:57
    11/11/2018 16:42:57
    11/11/2018 16:42:57
    11/11/2018 16:42:57
    11/11/2018 16:42:57
    11/11/2018 16:42:57
    11/11/2018 16:42:57
    11/11/2018 16:42:57
    11/11/2018 16:42:57


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.]

    JOSEMORAES
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 23/02/2011

    Re: Saldo acumulado por data

    Mensagem  JOSEMORAES em 12/11/2018, 00:51

    Tentei essa função

    Acumulado: Format(DSoma("Valor";"CnsLancamentosPrevisao";"([Lancamento_DtVencimento]<=#" & [Lancamento_DtVencimento] & "#) and ([Lancamento_Id]<=" & [Lancamento_Id] & ")");"Moeda")

    de certa forma deu certo, mas alguns campos ficam em branco

    Dt Venc Id Valor Acumulado
    09/08/2018 1526 R$ 1,00 R$ 4,00
    10/08/2018 1527 R$ 1,00 R$ 5,00
    13/08/2018 1528 R$ 1,00 R$ 3,00
    14/08/2018 1523 R$ 1,00 R$ 1,00
    14/08/2018 1524 R$ 1,00 R$ 2,00
    14/08/2018 1525 R$ 1,00 R$ 3,00
    14/08/2018 1529 R$ 1,00 R$ 7,00
    15/08/2018 1530 R$ 1,00 R$ 8,00
    16/08/2018 1531 R$ 1,00 R$ 9,00
    17/08/2018 1532 R$ 1,00 R$ 10,00
    20/08/2018 1533 R$ 1,00 R$ 11,00
    21/08/2018 1534 R$ 1,00 R$ 12,00
    22/08/2018 1535 R$ 1,00 R$ 13,00
    23/08/2018 1536 R$ 1,00 R$ 14,00
    23/08/2018 1552 -R$ 1,00 R$ 13,00
    24/08/2018 1537 R$ 1,00 R$ 15,00
    27/08/2018 1538 R$ 1,00 R$ 16,00
    28/08/2018 1539 R$ 1,00 R$ 17,00
    29/08/2018 1540 R$ 1,00 R$ 18,00
    30/08/2018 1541 R$ 1,00 R$ 19,00
    31/08/2018 1542 R$ 1,00 R$ 20,00
    03/09/2018 1543 R$ 1,00
    04/09/2018 1544 R$ 1,00
    05/09/2018 1545 R$ 1,00
    06/09/2018 1546 R$ 1,00
    23/01/2019 1553 -R$ 1,00 R$ 22,00
    24/06/2019 1554 -R$ 1,00 R$ 21,00
    25/11/2019 1555 -R$ 1,00 R$ 20,00
    23/04/2020 1556 -R$ 1,00 R$ 19,00


    .................................................................................
    [Você precisa estar registrado e conectado para ver esta imagem.]

      Data/hora atual: 16/11/2018, 04:01