Fórum Preço de venda acrescido da margem de lucro #328887
07/09/2006
0
Alguem pode me ajudar? desde já agradeço.
Estou usado banco de dados InterBase.
Jmotec1
Curtir tópico
+ 0Posts
07/09/2006
Micheus
Se sim, e considerando que seu dataset chame-se TabProduto, uma alternativa seria criar um procedimento para realizar o cálculo (CalculaCampo3) e no evento OnExit dos campos 1 e 2, após verificar alteração de seu valor, chamar o procedimento para calcular o campo3 (considerando que o usuário não poderá digitá-lo):
procedure FormCadastroProduto.CalculaCampo3; begin TabProdutoCAMPO3.Value := TabProdutoCAMPO1.AsFloat + (TabProdutoCAMPO1.AsFloat *TabProdutoCAMPO2.AsFloat/100); end; -> evento OnExit DBEdit Campo1 begin if TabProdutoCAMPO1.Value <> TabProdutoCAMPO1.OldValue then CalculaCampo3; end; -> evento OnExit DBEdit Campo2 begin if TabProdutoCAMPO2.Value <> TabProdutoCAMPO2.OldValue then CalculaCampo3; end;
Gostei + 0
08/09/2006
Marco Salles
é so no objecto inspectoro do primeiro , no evento onchange , alterar o nome e depois no evento onchange do segundo atribuir o mesmo evento
procedure TForm1.DBEditMesmoManipularorOnChange(Sender: TObject); var valor,lucro:Extended; begin if TryStrToFloat(DbEdit1.Text,valor) then begin if TryStrToFloat(DbEdit2.Text,Lucro) then dbedit3.Text:=formatFloat(´0.00´,valor*Lucro) else dbedit3.Text:=formatFloat(´0.00´,0); end else dbedit3.Text:=formatFloat(´0.00´,0); end;
Gostei + 0
21/09/2006
Alexdetonator
sou iniciante no Delphi e sua dica me ajudou bastante nesse tipo de cálculo.
Tenho uma dúvida em relação a esse cálculo quando uso um somatório num DBGrid e apresento num DBEdit. Como posso atualizar tambem essa soma no DBGrid e apresenta-la no DBEdit ?
Obrigado
Gostei + 0
22/09/2006
Marco Salles
o que seria este somatorio no DbGrid amigo alexdetonator ,
isto geralmente é feito usando um[b:f997618f97] campo calculado[/b:f997618f97]..
seria este o seu caso ?????
Gostei + 0
24/09/2006
Alexdetonator
Em uma tela do meu formulario ´orcamento´ tenho um dbgrid com mao de obra de servicos contendo ´servico - qtde horas - val unitario - val total´
já consegui jogar para um edit5.text o valor total desses servicos, porem quando adiciono um item ao dbgrid só estou conseguindo ver atualizado quando fecho e abro novamente o meu form orcamento (formshow).
Obrigado
Gostei + 0
25/09/2006
Marco Salles
na sua duvida inicial voce diz em :
netes tópico voce diz:
estou meio confuso..
mas vou arriscar um palpite
voce pode usar os evento onvalidade dos campos
qtde horas e val unitario
Tipo isso:
lo lugar do edit voce pode usar um DbEdit (Controle DataWare)
usando esse modelo , voce deve definir o Tfield(Total) com readOnley=True
e usando o edit voce deve usar o evento AfterScrool do seu SeuDataSet para atualizar o valor do edit sempre que voce rolar pela Grade
2) O outro modelo é usar um campo calculado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)