locked
Soma acumulada com Dsoma RRS feed

  • Pergunta

  • Olá a todos.

     

    Preciso realizar uma consulta que pegue uma tabela com datas e valores diários como esta:

    Tabela Saldo_Diario

    Data Saldo
    1/1/2008 0
    2/1/2008 150
    3/1/2008 200
    4/1/2008 150
    5/1/2008 -250
    6/1/2008 -100
    7/1/2008 200
    8/1/2008 300
    9/1/2008 -450
    10/1/2008 200
    11/1/2008 200
    12/1/2008 600
    13/1/2008 -300
    14/1/2008 250
    15/1/2008 550

     

     e retorne o valor acumulado por dia, num resultado mais ou menos assim:

     

    Data Saldo Acumulado
    1/1/2008 0 0
    2/1/2008 150 150
    3/1/2008 200 350
    4/1/2008 150 500
    5/1/2008 -250 250
    6/1/2008 -100 150
    7/1/2008 200 350
    8/1/2008 300 650
    9/1/2008 -450 200
    10/1/2008 200 400
    11/1/2008 200 600
    12/1/2008 600 1200
    13/1/2008 -300 900
    14/1/2008 250 1150
    15/1/2008 550 1700

     

    Eu tentei usar DSoma, mas não obtive sucesso. Eu realizei a seguinte consulta SQL:

     

    SELECT Saldo_Diario.Data, Saldo_Diario.Saldo, DSum("Saldo","Saldo_Diario","[Data]<=#" & Data & "#") AS Acumulado
    FROM Saldo_Diario
    GROUP BY Saldo_Diario.Data, Saldo_Diario.Saldo;

    Mas o resultado não sai certo. Eu acredito que o problema esteja na questão das datas, mas não consigo visualizar o que pode estar errado.

     

    Agradeço a quem puder me ajudar...

    sexta-feira, 30 de maio de 2008 13:13

Respostas

  • realmente o problema estava nas datas. Resolvi a questão adicionando à tabela Saldo_Diario o campo "Serial", com o numero serial da data. Aí minha consulta ficou assim:

     

    SELECT Saldo_Diario.Data, Saldo_Diario.Saldo, Saldo_Diario.Serial, DSum("Saldo","Saldo_Diario","[Serial]<=" & Serial & "") AS Acumulado
    FROM Saldo_Diario
    GROUP BY Saldo_Diario.Data, Saldo_Diario.Saldo, Saldo_Diario.Serial

     

    Não sei se foi a melhor solução, mas me atendeu.

     

     

    sexta-feira, 30 de maio de 2008 13:36