Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lívio Bruno

Cáculo com DBGrid

Recommended Posts

Bom prezados, tenho um form1, com um dbgrid, com os itens: Codigo, Nome, Kg e Valor Atual. Ao dar dois cliques em cima de uma célula do dbgrid, abre um pequeno form com um edit e um botão. O caso é, queria que no evento onclick do botão do pequeno form(form2), o valor em Kilo Gramas ou Gramas que eu digitasse no edit do form2 fosse para o item "KG" do dbgrid e automaticamente mudasse o valor atual no dbgrid.

 

obs.: Trabalho com datamodule, adotable, datasource.

 

Ja fiz o seguinte:

 

procedure TfrmEditValor.Button1Click(Sender: TObject);

begin

//Passa o valor do edit1 do form2 para o item do dbgrid do form1

DM.DSProdutosResu.DataSet.FieldByName('Kg').Value := Edit1.Text;

end;

 

Se puderem me ajudar, agradeço demais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, supondo q você vai editar um registro já cadastrado, é só selecionar o registro em questão no dbgrid e no form2:

 

procedure TfrmEditValor.Button1Click(Sender: TObject);

begin

DM.SUA_TABELA.EDIT;

DM.DSProdutosResu.DataSet.FieldByName('Kg').Value := Edit1.Text;

DM.SUA_TABELA.POST;

end;

 

Testa assim !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, supondo q você vai editar um registro já cadastrado, é só selecionar o registro em questão no dbgrid e no form2:

 

procedure TfrmEditValor.Button1Click(Sender: TObject);

begin

DM.SUA_TABELA.EDIT;

DM.DSProdutosResu.DataSet.FieldByName('Kg').Value := Edit1.Text;

DM.SUA_TABELA.POST;

end;

 

Testa assim !!!

 

 

Beleza funciona mas, eu queria que quando o valor fosse para o item "Kg" do dbgrid do form1, o item "Valor Atual"

fosse atualizado com base no valor que já está nesse item "Valor Atual" ou seja queria que calculasse automaticamente. Entra no link abaixo pra você vê a tabela.

 

http://embratel.50webs.org/Tabela.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom colega nesse caso você tem que montar um select, baseado no cadastro já existente na 2º tabela.

 

select qtde_produto

from tblproduto p, tbliten i

where p.desc_produto = i.desc_produto

 

A partir daí você soma os valores.

 

Testa aí !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom colega nesse caso você tem que montar um select, baseado no cadastro já existente na 2º tabela.

 

select qtde_produto

from tblproduto p, tbliten i

where p.desc_produto = i.desc_produto

 

A partir daí você soma os valores.

 

Testa aí !!!!

 

Pô amigão, valeu mesmo mas, funcionou assim:

 

procedure TfrmEditValor.Button1Click(Sender: TObject);

var

va: real;

kg: real;

begin

try

DM.DSProdutosResu.DataSet.Edit;

DM.DSProdutosResu.DataSet.FieldByName('Kg').Value := Edit1.Text;

va := DM.DSProdutosResu.DataSet.FieldByName('Valor Atual').Value;

kg := DM.DSProdutosResu.DataSet.FieldByName('Kg').Value;

DM.DSProdutosResu.DataSet.Post;

if kg >= 1 then

begin

//Com o código abaixo eu digito no edit o valor em kilos no seguinte formato e tenho o Total. Exemplo: 1,500 ou 1,050

DM.DSProdutosResu.DataSet.Edit;

DM.DSProdutosResu.DataSet.FieldByName('Total').Value := FormatFloat('#,##0.000', va * kg);

DM.DSProdutosResu.DataSet.Post;

end else

if kg < 1 then

begin

//Com o código abaixo eu digito no edit o valor em Gramas no seguinte formato e tenho o Total. Exemplo: 0,050 ou 0,500

DM.DSProdutosResu.DataSet.Edit;

DM.DSProdutosResu.DataSet.FieldByName('Total').Value := FormatFloat('#,##0.000', va * kg);

DM.DSProdutosResu.DataSet.Post;

end;

except

MessageBox(Application.Handle, 'É preciso inserir um valor antes de executar essa operação.', 'Mensagem de Erro', mb_iconerror + mb_ok);

end;

 

end;

 

Qualquer probleminha te procuro. Abraço. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.