Fórum Campos Monetários !!!! Como devo fazer ? #207966

21/01/2004

0

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;


Jonasaf

Jonasaf

Responder

Posts

21/01/2004

Paulo_amorim

porque nao funciona? da erro ou soh nao funciona satisfatoriamente?

tente ao inves de StrToFloat, StrToCurr...
ele transforma em valor monetario...
quem sabe


Responder

Gostei + 0

21/01/2004

Macario

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;


Responder

Gostei + 0

21/01/2004

Jonasaf

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..


Responder

Gostei + 0

21/01/2004

Macario

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


Responder

Gostei + 0

21/01/2004

Rômulo Barros

É mais fácil utilizar um campo calculado invisível para isso e, em seguida, adicionar o valor dele no campo q vc quer......


Responder

Gostei + 0

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

Aceitar