[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