Fórum Ainda sobre Entrada saldo - saida = saldo destacado #204088
04/01/2004
0
o que eu tenho: um banco paradox com os campos entrada tipo N, saida tipo N. e saldo tipo N. o que eu queria acrescentar entradas ao saldo e diminuir as saidas e ficar com o saldo destado vermelho se saldo negativo e azul se saldo positivo.
Com essa dica eu obtive o saldo destacado vermelho independente de negativo ou possitivo :cry: e não estava somando nem diminuindo nada
var
Entradas, Saidas, Saldo: Double;
begin
Query1.Active:= false;
Query1.Sql.Text:= ´Select SUM(Entradas) as SE, Sum(Saidas) as SS from tabela´;
Query1.Active:= true;
Entradas:= Query1.FieldByName(´SE´).asFloat;
Saidas:= Query1.FieldByName(´SS´).asFloat;
Saldo:= Entradas - Saidas;
if (Saldo > 0) then
Label1.Font.Color:= $0000CC;
else
Label1.Font.Color:= $CC0000;
Label1.Caption:= FloatToStr(Saldo);
:lol: Então tentei fazer dessa forma e deu os seguintes erros com as duas tentativas
Obs.: Sou iniciante estou indo na base de tentativas, socorro o que estou fazendo de errado?
var
Entrada, Saida, Saldo: Double;
begin
Query1.Active:= false;
Query1.Sql.Text:= ´Select SUM(Entrada) as SE, Sum(Saida) as SS from livrocaixa1´;
Query1.Active:= true;
Entrada:= Query1.FieldByName(´SE´).asFloat;
Saida:= Query1.FieldByName(´SS´).asFloat;
//Saldo:= Entrada - Saida;(tirei isso porque não estava dando certo)
saldo:= strtofloat (t_livrocaixa[´entrada´] + t_livrocaixa[´saldo´] - t_livrocaixa[´saida´]);
if (Saldo > 0) then
dbedit6.Font.Color:= $0000CC
else
dbedit6.Font.Color:= $CC0000;
dbedit6.text:= FloatToStr(Saldo);
end;
dessa forma (saldo:= strtofloat) da um erro na hora que entro no formulário em tempo de execução “ conversão do tipo variante invalido”
e dessa forma (saldo:=floattostr) da os erros abaixo
[Error] U_livrocaixa.pas(154): Incompatible types: ´Double´ and ´String´
[Fatal Error] Admincondo1.dpr(41): Could not compile used unit ´U_livrocaixa.pas´
Wagner
Curtir tópico
+ 0Posts
04/01/2004
Edilcimar
label1.color := clBlue
else
label1.color := clRed;
Gostei + 0
04/01/2004
Wagner
Obrigado
Gostei + 0
04/01/2004
Edilcimar
Gostei + 0
04/01/2004
Wagner
Gostei + 0
04/01/2004
Edilcimar
uma tabela com os campos data, entrada, saida e saldo
um edit onde será colocado o valor da movimentação e outro com a data da movimentação e 2 botões um para entrada de valor e outro para saída de valor
caso o usuário clique no botão entrada faça o seguinte:
begin
fieldbyname(´data´).value := strtodate(edit1.text);
fieldbyname(´entrada´).value := strtofloat(edit2.text);
fieldbyname(´saldo´).value := fieldbyname(´saldo´).value + strtofloat(edit2.text);
post;
end;
caso o usuário clique no botão saida faça o seguinte:
fieldbyname(´data´).value := strtodate(edit1.text);
fieldbyname(´saida´).value := strtofloat(edit2.text);
fieldbyname(´saldo´).value := fieldbyname(´saldo´).value - strtofloat(edit2.text);
post;
end;
é claro que vc deve tratar os dados para evitar erros do cliente, e se quizer pode colocar negativos os valores no campo saida, mas não é necessário
Gostei + 0
04/01/2004
Wagner
var
Entrada, Saida, Saldo: Double;
begin
Query1.Active:= false;
Query1.Sql.Text:= ´Select SUM(Entrada) as SE, Sum(Saida) as SS from livrocaixa1´;
Query1.Active:= true;
Entrada:= Query1.FieldByName(´SE´).asFloat;
Saida:= Query1.FieldByName(´SS´).asFloat;
saldo:= strtofloat (t_livrocaixa[´entrada´] + t_livrocaixa[´saldo´] - t_livrocaixa[´saida´]);
if (Saldo > 0) then
dbedit6.Font.Color:= $0000CC
else
dbedit6.Font.Color:= $CC0000;
dbedit6.text:= FloatToStr(Saldo);
end;
dessa forma (saldo:= strtofloat) da um erro na hora que entro no formulário em tempo de execução “ conversão do tipo variante invalido”
e dessa forma (saldo:=floattostr) da os erros abaixo
[Error] U_livrocaixa.pas(154): Incompatible types: ´Double´ and ´String´
[Fatal Error] Admincondo1.dpr(41): Could not compile used unit ´U_livrocaixa.pas´
Gostei + 0
04/01/2004
Edilcimar
entrada, saida, saldo : currency (para que não haja problemas de arredondamento), depois teste cada um dos sum separadamente para ver se dá certo, porém se vc já tem o saldo para que quer fazer contas com as entradas e as saídas para depois calcular o saldo? segundo vc dever estar misturando os campos para aparecer o erro de string e double.
Gostei + 0
05/01/2004
Wagner
Gostei + 0
07/01/2004
Wagner
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)