[firebase-br] [Spam] Re: [Spam] Re: Saldo Anterior

Anderson - EasyBit anderson em easybit.com.br
Qui Fev 22 18:20:19 -03 2007


At 14:39 22/2/2007, Magnun Oliveira wrote:
>entao Anderson ... perguntei pq eh o meu caso hehe.
>No meu sistema tmb fiz pelo programa.
>
>O meu caso:
>
>CODIGO    DATA                 Valor     Total
>1              01/01/2007        100       100
>3              02/01/2007        150       250
>2              03/01/2007        170       420
>6              03/01/2007        100       520
>5              03/01/2007        250       770
>
>criei uma rotina com uma query auxiliar, q ordena a o SQL igual está
>ordenado esse select,
>ai faço um locate no codigo, posiciono no regsitro anterior e vou somando e
>passando pro prox, ibquery.next, next ... até agora, com poucos registros
>tah otimo, quero ver quando a coisa encher como vai ficar, será q dah pra
>fazer isso com SP?


Com certeza dá pra fazer com SP. Faço por programa por opção.

No meu caso, utilizo uma estrutura semelhante 
para controlar o saldo de produtos em estoque. 
Assim, o saldo atual é igual 'a quantidade 
daquele lançamento mais o saldo anterior do 
produto. E o saldo de cada lançamento fica 
gravado nele. Assim, se eu inserir um registro 
entre outros, faço o recálculo do saldo. Daí 
quando preciso recuperar esses dados eles já 
estão calculados e gravados. Trabalho assim há 
vários anos e nunca tive problemas.

Estou passando em private a rotina que faz o 
(re)cálculo e gravação do saldo, bem como a 
estrutura da tabela onde o mesmo é feito.

Abraço,

Anderson





>----Original Message Follows----
>From: Anderson - EasyBit <anderson em easybit.com.br>
>Reply-To: FireBase <lista em firebase.com.br>
>To: FireBase <lista em firebase.com.br>,lista em firebase.com.br
>Subject: Re: [firebase-br] [Spam] Re:  Saldo Anterior
>Date: Thu, 22 Feb 2007 15:37:35 -0300
>
>At 14:12 22/2/2007, Magnun Oliveira wrote:
>  >e se ele tiver varias datas iguais?
>  >e se os codigos nao forem crescentes, ou seja, se ele adicionar uma viagem
>  >hj outra amanha e depois de amanhã adicionar uma viagem feita antes de
>  >ontem?
>
>Aí o bicho pega, rs...
>
>Mas ele pode criar um índice por DATA + CODIGO e
>pegar sempre a data/código anterior. Trabalhei
>com os dados que ele passou. Realmente na
>situação que você colocou fica mais complicado e a SP dá mais flexibilidade.
>
>No meu sistema faço por programa essa seleção.
>
>Abraço,
>
>Anderson
>
>
>
>
>
>  >----Original Message Follows----
>  >From: Anderson - EasyBit <anderson em easybit.com.br>
>  >Reply-To: FireBase <lista em firebase.com.br>
>  >To: FireBase <lista em firebase.com.br>,lista em firebase.com.br
>  >Subject: Re: [firebase-br] Saldo Anterior
>  >Date: Thu, 22 Feb 2007 15:12:00 -0300
>  >
>  >Ola Alberto,
>  >
>  >Essa Select pode fazer isso:
>  >
>  >select a.CODIGO, a.DATA, a.KILOMETROS,
>  >     (select FIRST 1 (a.kilometros - b.kilometros) from TMP B
>  >     WHERE B.DATA < A.DATA
>  >     ORDER BY B.DATA DESC) AS Percorridos
>  >FROM TMP A
>  >
>  >Abraço,
>  >
>  >Anderson
>  >
>  >
>  >
>  >At 13:32 22/2/2007, Alberto Brito wrote:
>  >  >Ola Pessoal.
>  >  >
>  >  >
>  >  >      Hoje deparei-me com uma situação que ainda nao me tinha
>acontecido
>  >  >no Firebird, talvez ja tenha acontecido ao pessoal da lista, ora
>vejamos
>  >  >
>  >  >      Tenho uma tabela por exemplo , CODIGO, DATA, KILOMETROS
>  >  >
>  >  >      Agora Queria fazer uma consulta, sabendo que os Kilometros
>  >  >Percorridos são, Kilometros Actuais Menos os Kilometros Anteriores.
>  >  >
>  >  >Vejamos
>  >  >
>  >  >
>  >  >CODIGO    DATA           Kilometros
>  >  >1       01/01/2007        100
>  >  >2       02/01/2007        150
>  >  >2       03/01/2007        170
>  >  >
>  >  >
>  >  >O que eu queria era um select que retorne o seguinte
>  >  >
>  >  >CODIGO    DATA           Kilometros     Percorridos
>  >  >1       01/01/2007        100             100
>  >  >2       02/01/2007        150              50
>  >  >2       03/01/2007        170              20
>  >  >
>  >  >alguem me sabe dizer como faço isso com select
>  >  >isto é preciso pegar o valor dos kilometros do registo anterior
>  >  >é possivel no firebird???
>  >  >
>  >  >
>  >  >
>  >  >Obrigado
>  >  >
>  >  >______________________________________________
>  >  >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>  >  >Para editar sua configuração na lista, use o
>  >  >endereço
>  >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>  >  >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>  >
>  >
>  >______________________________________________
>  >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>  >Para editar sua configuração na lista, use o endereço
>  >http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>  >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>  >
>  >_________________________________________________________________
>  >MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com
>  >
>  >
>  >______________________________________________
>  >FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>  >Para editar sua configuração na lista, use o
>  >endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>  >Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço
>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>_________________________________________________________________
>MSN Busca: fácil, rápido, direto ao ponto.  http://search.msn.com.br
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o 
>endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista