Array
(
)

Como Ver Valor de um Registro em data Passada

Armindo
   - 03 abr 2006

VDataEscolhida := 31/12/2005;
Tenho um SqlDataSet com a seguinte consulta:
SQlDataSet1.CommandText := ´SELECT P.REFERENCIA, P.DESCRICAO, P.ESTOQUEATUAL, P.UNIDADE, P.MARCA, P.ESTOQUEMINIMO, ´+
´P.PRECOCUSTO, P.PRECOVENDA, P.CATEGORIA, SUM(ME.QUANTIDADE*(CASE WHEN ME.OPERACAO = ´+´´´E´´´+´ THEN 1 END)) ´+
´AS ENTRADAS, SUM(ME.QUANTIDADE*(CASE WHEN ME.OPERACAO = ´+´´´S´´´+´ THEN 1 END)) AS SAIDAS FROM PRODUTOS ´+
´P LEFT JOIN MOVIESTOQUE ME ON (ME.PRODUTO = P.REFERENCIA AND ME.DATA >:VDataPosicao) WHERE P.ESTOQUEATUAL > 1;
SQlDataSet1.pARAMS[0].AsDateTime := VDataEscolhida;

A rotina traz as entradas e saídas dos produtos que tenham estoque positivo. O problema é que mostra os produtos que têm estoque (P.ESTOQUEATUAL) positivo hoje.
Como faço para listar os produtos que tinham estoque positivo em VDataEscolhida?

Obrigado.


Edilcimar
   - 03 abr 2006

Neste caso vc teria que ter campos distintos entre estoque atual e estoque na referida data, ou seja, teria que salvar o estoque com a respectiva data em cada uma das transações efetuadas, o melhor neste caso é ter uma tabela a parte com os campos códigoproduto, dataestoque e estoquenadata