Autor Tópico: Acumular valor campo Saldo  (Lida 3716 vezes)

vox

  • Visitante
Acumular valor campo Saldo
« Online: Abril 27, 2009, 10:56:23 am »
Bom dia!

Tenho uma tabela de caixa que tem 5 campos

MySQL: 5.0.51a:
 
  idcaixa int(10)                 
  cx_data date                 
  cx_entrada float(9,2)               
  cx_saida float(9,2)                 
  cx_saldo float(9,2)               
 


Estou usando um form de consulta com filtro de datas , e preciso mostar o saldo no final. Tentei crir um campo de depois calcular  {saldo} = {Saldo anterior}+ {cx_entrada} - {cx_Saida}, mas nao sei como fazer para buscar o saldo anterior , alguem poderia ajudar.
Obrigado.
 

« Última modificação: Abril 27, 2009, 11:13:41 am por vox »

Rodrigo Lins

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 504
    • Overalt I.T
Re: Acumular valor campo Saldo
« Responder #1 Online: Abril 27, 2009, 03:53:55 pm »
Olá,

Você possui esse 'Saldo Anterior' armazenado em uma tabela, correto?

Você precisará utilizar a macro sc_lookup , para fazer um select na tabela e retornar este valor.

Exemplo da macro:

sc_lookup(ds, "SELECT Nome FROM tb_clientes WHERE cpf = '{cpf}'");

$resultado = {ds[0][0]};


Qualquer dúvida, tem no webhelp do scriptcase a explicação como funciona o sc_lookup.

Rodrigo Lins.

vox

  • Visitante
Re: Acumular valor campo Saldo
« Responder #2 Online: Abril 28, 2009, 10:20:53 pm »

Boa noite Rodrigo !

Eu fiz o recomendado mas a macro só busca o primeiro registro onde está armazenado o saldo , como faço para ele buscar sempre o ultimo registro

Abaixo comandos usados :

sc_lookup(ds, "SELECT cc_saldo FROM contacorrente ");

$resultado = {ds[0][0]};

{saldo} = $resultado + {cc_entrada} - {cc_saida};

Obrigado!

Rodrigo Lins

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 504
    • Overalt I.T
Re: Acumular valor campo Saldo
« Responder #3 Online: Abril 29, 2009, 02:22:16 pm »
Opa,

Creio que neste caso esteja faltando um WHERE neste seu select, geralmente existe para identificar qual o registro que estamos querendo, por exemplo, o saldo do cliente, então teria que fazer algo parecido com isto a seguir:

sc_lookup(ds, "SELECT cc_saldo FROM contacorrente WHERE cliente = '{codigo_cliente}'");

Onde o texto que está entre chaves seria o código que virá da tela (do formulário) seria uma variável... E dessa maneira ele irá trazer o registro corretamente.

Mas, você poderia utilizar no SQL algo como o MAX... Mas, só se a regra do sistema seja desta maneira não sei... Mas, creio que em algum momento irá retornar registros errados....

Veja direitinho a regra de negócio.

Espero ter ajudado.

Rodrigo Lins.