Fórum Ajuda com uma Trigger de Conta! #49934
19/03/2005
0
o Campo CONTA é primario, e o CLIENTE tem o código do cliente em questao..
bem, isso aih é a conta do cliente da seguinte maneira:
2 00001 10 10 C 00/00/0000
3 00001 10 20 C 00/00/0000
4 00001 10 20 D 00/00/0000
5 00002 10 0 I 00/00/0000
ou seja, no Tipo:
C -> Credito (acrescenta)
D -> Debito (diminui)
pois, bem, minha questao é, queria uma trigger que ao modificar algum registro orderne por data e comece a fazer os calculos apartir do primeiro registro.
Entao é isso, se alguem puder me ajuda agradeco imensamente... :D
desde ja obrigado!
[]s
Titanius
Curtir tópico
+ 0Posts
19/03/2005
Afarias
T+
Gostei + 0
20/03/2005
Titanius
se o cliente comeca com 100,00
D 10,00 Total: 90,00
C 50,00 Total: 140,00
e assim vai...
porem deveria ser por data, se eu adicionar um com uma data anterior a final, ele deveria pegar o primeiro registro e ir fazendo os debitos e creditos da conta...
vamos supor que na tabela tem os registros referente ao cliente 0001:
cliente data tipo valor valoratual 0001 20/10/2001 C 10,00 0,00 <-- Porque é o primeiro registro 0001 22/10/2001 C 10,00 20,00 0001 23/10/2001 D 10,00 10,00 0001 24/10/2001 C 10,00 20,00 0001 01/11/2001 D 10,00 10,00 0001 02/11/2001 C 10,00 20,00 Saldo final.: 20,00
Aih adiciono um outro registro:
0001 25/10/2001 C 10,00
ficaria assim (por ordem de data):
cliente data tipo valor valoratual 0001 20/10/2001 C 10,00 0,00 <-- Porque é o primeiro registro 0001 22/10/2001 C 10,00 20,00 0001 23/10/2001 D 10,00 10,00 0001 24/10/2001 C 10,00 20,00 0001 25/10/2001 C 10,00 30,00 <<-- o registro adicionado 0001 01/11/2001 D 10,00 20,00 0001 02/11/2001 C 10,00 30,00 Saldo final.: 30,00
ele refez os calculos do Valor Aual, referente ao tipo e ao valor!
Bem, acho que consegui explicar +/-, qq coisa so perguntar,
e obrigado como sempre!
[]s
Gostei + 0
20/03/2005
Pedih
cliente data tipo valor valoratual 0001 20/10/2001 C 10,00 0,00 <-- Porque é o primeiro registro 0001 22/10/2001 C 10,00 20,00 0001 23/10/2001 D 10,00 10,00 0001 24/10/2001 C 10,00 20,00 0001 01/11/2001 D 10,00 10,00 0001 02/11/2001 C 10,00 20,00 Saldo final.: 20,00
cliente data tipo valor valoratual 0001 20/10/2001 C 10,00 0,00 <-- Porque é o primeiro registro 0001 22/10/2001 C 10,00 20,00 0001 23/10/2001 D 10,00 10,00 0001 24/10/2001 C 10,00 20,00 0001 25/10/2001 C 10,00 30,00 <<-- o registro adicionado 0001 01/11/2001 D 10,00 20,00 0001 02/11/2001 C 10,00 30,00 Saldo final.: 30,00
Sugestao.
nesta tabela, ou na tabela de tipos de lancamentos, crie um campo, chamado por exemplo de: INDEXADOR
valor deste campo
se o Lancamento for Credito, poe 1, se for Debito poe -1
ae, manda dar uma sum
SELECT SUM(VALOR*INDEXADOR) AS SALDOFINAL FROM <TABELA> order by DATA
Acho que assim resolveria seu problema, qualquer coisa, estamos aqui.
T+
Gostei + 0
21/03/2005
Titanius
Desculpe-me, mas sou novato nesse esquema :D
Obrigado,
[]s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)