Campos Monetários !!!! Como devo fazer ?
Pessoal ,
Tenho uma base de dados em access 3 campos monetários onde :
Valor_de_Compra
Valor_comercial
Valor_Estoque
Tenho dois campos inteiros onde :
Margem de lucro e Quantidade.
Gostaria que no evento onexit de <<Margem de lucro>>
Fizesse o seguinte :
VARIAVEL := Valor_de_Compra * Margem de lucro / 100 ; // calcular porcentagem de venda.
E ainda : VARIAVEL := Valor_de_Compra + VARIAVEL; // Resuldo p/ VALOR COMERCIAL.
COMO VOU FAZER SENDO QUE ESTOU USANDO DBEDITS PARA :
VALOR DE COMPRA, VALOR COMERCIAL E MARGEM DE LUCRO !
DEVO TRANSFORMAR OS DBEDITS DE strTofloat ?
Fiz assim e ta dando erro...:
procedure TFrmPrincipal.DBEdit24Exit(Sender: TObject);
begin
if (DmCV.QryProduto.State in [dsEdit,dsInsert])and (DBEdit16.Text <>´´) Then
begin
Valor_A := StrToFloat(DBEdit16.Text);
Valor_B := StrToFloat(DBEdit24.Text);
Resultado := Valor_A * Valor_B/100;
Resultado := Valor_A + Resultado;
DBEdit28.Text := FloatToStr(Resultado);
RxDBCalcEdit2.SetFocus;
end;
end;
Tenho uma base de dados em access 3 campos monetários onde :
Valor_de_Compra
Valor_comercial
Valor_Estoque
Tenho dois campos inteiros onde :
Margem de lucro e Quantidade.
Gostaria que no evento onexit de <<Margem de lucro>>
Fizesse o seguinte :
VARIAVEL := Valor_de_Compra * Margem de lucro / 100 ; // calcular porcentagem de venda.
E ainda : VARIAVEL := Valor_de_Compra + VARIAVEL; // Resuldo p/ VALOR COMERCIAL.
COMO VOU FAZER SENDO QUE ESTOU USANDO DBEDITS PARA :
VALOR DE COMPRA, VALOR COMERCIAL E MARGEM DE LUCRO !
DEVO TRANSFORMAR OS DBEDITS DE strTofloat ?
Fiz assim e ta dando erro...:
procedure TFrmPrincipal.DBEdit24Exit(Sender: TObject);
begin
if (DmCV.QryProduto.State in [dsEdit,dsInsert])and (DBEdit16.Text <>´´) Then
begin
Valor_A := StrToFloat(DBEdit16.Text);
Valor_B := StrToFloat(DBEdit24.Text);
Resultado := Valor_A * Valor_B/100;
Resultado := Valor_A + Resultado;
DBEdit28.Text := FloatToStr(Resultado);
RxDBCalcEdit2.SetFocus;
end;
end;
Jonasaf
Curtidas 0
Respostas
Paulo_amorim
21/01/2004
porque nao funciona? da erro ou soh nao funciona satisfatoriamente?
tente ao inves de StrToFloat, StrToCurr...
ele transforma em valor monetario...
quem sabe
tente ao inves de StrToFloat, StrToCurr...
ele transforma em valor monetario...
quem sabe
GOSTEI 0
Macario
21/01/2004
Verifique se a variavel Resultado é do tipo double
e vc pode usar
procedure TFrmPrincipal.DBEdit24Exit(Sender: TObject);
begin
if (DmCV.QryProduto.State in [dsEdit,dsInsert])and (DBEdit16.Text <>´´) Then
begin
Resultado := DBEdit16.value*DBEdit24.value/100;
Resultado := Valor_A + Resultado;
DBEdit28.value := Resultado;
RxDBCalcEdit2.SetFocus;
end;
end;
e vc pode usar
procedure TFrmPrincipal.DBEdit24Exit(Sender: TObject);
begin
if (DmCV.QryProduto.State in [dsEdit,dsInsert])and (DBEdit16.Text <>´´) Then
begin
Resultado := DBEdit16.value*DBEdit24.value/100;
Resultado := Valor_A + Resultado;
DBEdit28.value := Resultado;
RxDBCalcEdit2.SetFocus;
end;
end;
GOSTEI 0
Jonasaf
21/01/2004
Verifique se a variavel Resultado é do tipo double
e vc pode usar
procedure TFrmPrincipal.DBEdit24Exit(Sender: TObject);
begin
if (DmCV.QryProduto.State in [dsEdit,dsInsert])and (DBEdit16.Text <>´´) Then
begin
Resultado := DBEdit16.value*DBEdit24.value/100;
Resultado := Valor_A + Resultado;
DBEdit28.value := Resultado;
RxDBCalcEdit2.SetFocus;
end;
end;
Como declaro Resultado como double.. eu declarei essa variavel global jutno com as outras... sendo que elas estao em REAL... !
o campo monetários e ascurrency.. do access..
GOSTEI 0
Macario
21/01/2004
ficaria assim
procedure TFrmPrincipal.DBEdit24Exit(Sender: TObject);
[color=red:40832cad53]var Resultado : double[/color:40832cad53]
begin
if (DmCV.QryProduto.State in [dsEdit,dsInsert])and (DBEdit16.Text <>´´) Then
begin
Resultado := (DBEdit16.value*DBEdit24.value)/100;
Resultado := DBEdit16.value+ Resultado;
DBEdit28.value := Resultado;
RxDBCalcEdit2.SetFocus;
end;
end;
qualquer duvida estou no msn
procedure TFrmPrincipal.DBEdit24Exit(Sender: TObject);
[color=red:40832cad53]var Resultado : double[/color:40832cad53]
begin
if (DmCV.QryProduto.State in [dsEdit,dsInsert])and (DBEdit16.Text <>´´) Then
begin
Resultado := (DBEdit16.value*DBEdit24.value)/100;
Resultado := DBEdit16.value+ Resultado;
DBEdit28.value := Resultado;
RxDBCalcEdit2.SetFocus;
end;
end;
qualquer duvida estou no msn
GOSTEI 0
Rômulo Barros
21/01/2004
É mais fácil utilizar um campo calculado invisível para isso e, em seguida, adicionar o valor dele no campo q vc quer......
GOSTEI 0