GARANTIR DESCONTO

Fórum Ajuda com uma Trigger de Conta! #49934

19/03/2005

0

Olá, tenho uma tabela de nome CONTA, com os seguintes campos: CONTA(*), CLIENTE, VALOR, VALORATUAL, TIPO, DATA

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

Titanius

Responder

Posts

19/03/2005

Afarias

um crédito por conta? não entendi.


T+


Responder

Gostei + 0

20/03/2005

Titanius

Olá, no caso seria uma tabela com o movimento da conta (tipo extrato bancario) de todos os clientes

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


Responder

Gostei + 0

20/03/2005

Pedih

Olá, no caso seria uma tabela com o movimento da conta (tipo extrato bancario) de todos os clientes 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


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+


Responder

Gostei + 0

21/03/2005

Titanius

Certo amigo, porem não consegui entender a lógica desse comando..

Desculpe-me, mas sou novato nesse esquema :D


Obrigado,

[]s


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar