Li várias soluções para calcular o saldo de uma caixa neste forum e cheguei a implementar uma delas, mas tive alguma dificuldade numa consulta ao transferir para o excel, por vezes não saia os valores da coluna “saldo”
O que fiz
a minha estrutura contém:
DATA ENTRADA SAIDA SALDO
tirei a conclusão de que por cada registo na consulta se a soma anterior ou igual à data do registo da ENTRADA e da SAIDA, diminuindo a soma da ENTRADA com a da SAIDA obtenho nesse registo o SALDO, onde pego nesse valor e atualizo através de um update o saldo do registo.
Pode ser mais demorado mas é eficaz
está a funcionar…
fica aqui o código que apliquei…
no evento onRecord
[b]$xnumero={numero}; // registo
$xdatamovi={data}; // data do movimento
sc_select(meus_dadosc,“SELECT sum(credito) AS totalcredito FROM caixas_linhas where data<=’$xdatamovi’”);
$xvalortotalcredito = $meus_dadosc->fields[0];
sc_select(meus_dadosd,“SELECT sum(debito) AS totaldebito FROM caixas_linhas where data<=’$xdatamovi’”);
$xvalortotaldebito = $meus_dadosd->fields[0];
$meusaldo=$xvalortotalcredito-$xvalortotaldebito;
// SQL statement parameters
$update_table = ‘caixas_linhas’; // Table name
$update_where = “numero = ‘$xnumero’”; // Where clause
$update_fields = array( // Field list, add as many as needed
“saldo = ‘$meusaldo’”,
);
// Update record
$update_sql = ‘UPDATE ’ . $update_table
. ’ SET ’ . implode(’, ', $update_fields)
. ’ WHERE ’ . $update_where;
sc_exec_sql($update_sql);[/b]