Atualização de estoque - Falha na atualização de dados.
A um mês venho tentando fazer com que meu banco de dados faça uma atualização em uma determinada tabela, e até agora não consegui.
Tenho três tabelas chamadas [color=red:c5f8ffc2ac]Entrada, Saida e Estoque [/color:c5f8ffc2ac](respctivamente). O que quero é o seguinte: Na tabela entrada tem um campo de nome ´[color=red:c5f8ffc2ac]Quant_Entrada[/color:c5f8ffc2ac]´ a onde irei da entrada nos produtos que foram comprados, na tabela saida tenho um campo de nome ´[color=red:c5f8ffc2ac]Quant_Saida[/color:c5f8ffc2ac]´ que irei dar baixa nos produtos que forem saindo e na tabela estoque tenho um campo de nome ´[color=red:c5f8ffc2ac]Saldo[/color:c5f8ffc2ac]´ que teoricamente mostraria o resultado do campo ´[color=red:c5f8ffc2ac]quant_Entrada[/color:c5f8ffc2ac]´ menos o Campo ´[color=red:c5f8ffc2ac]Saida[/color:c5f8ffc2ac]´.
Gente sou iniciante e tenho minhas limitaçãoes, só que já tentei de tudo e não consigo fazer isto funcionar corretamente, já me passaram como criar TRIGGERs só que não consigo criar uma siquer aparece tantos erros que não sei se da mais para prosseguir.
Esta tabela ´Estoque´ ela teria que gravar dados de varias tabelas, por Ex: Coloco no botão gravar da tabela Entrada Tabela.post; mas ela não chega a armazenar um dado siquer. Por isso estou pedindo a ajuda de Vcs porque já não sei mas o que fazer.
Obrigado e desculpa pela carta.
Erivan Marinho.
Tenho três tabelas chamadas [color=red:c5f8ffc2ac]Entrada, Saida e Estoque [/color:c5f8ffc2ac](respctivamente). O que quero é o seguinte: Na tabela entrada tem um campo de nome ´[color=red:c5f8ffc2ac]Quant_Entrada[/color:c5f8ffc2ac]´ a onde irei da entrada nos produtos que foram comprados, na tabela saida tenho um campo de nome ´[color=red:c5f8ffc2ac]Quant_Saida[/color:c5f8ffc2ac]´ que irei dar baixa nos produtos que forem saindo e na tabela estoque tenho um campo de nome ´[color=red:c5f8ffc2ac]Saldo[/color:c5f8ffc2ac]´ que teoricamente mostraria o resultado do campo ´[color=red:c5f8ffc2ac]quant_Entrada[/color:c5f8ffc2ac]´ menos o Campo ´[color=red:c5f8ffc2ac]Saida[/color:c5f8ffc2ac]´.
Gente sou iniciante e tenho minhas limitaçãoes, só que já tentei de tudo e não consigo fazer isto funcionar corretamente, já me passaram como criar TRIGGERs só que não consigo criar uma siquer aparece tantos erros que não sei se da mais para prosseguir.
Esta tabela ´Estoque´ ela teria que gravar dados de varias tabelas, por Ex: Coloco no botão gravar da tabela Entrada Tabela.post; mas ela não chega a armazenar um dado siquer. Por isso estou pedindo a ajuda de Vcs porque já não sei mas o que fazer.
Obrigado e desculpa pela carta.
Erivan Marinho.
Peninha
Curtidas 0
Respostas
Edjborges
31/07/2003
Caro colega, talvez eu possa te ajudar... a maneira mais simples é você fazer isso através de um pequeno código, como segue...
Dando entrada em produtos comprados, quando clicar no botao ´Gravar´ (por exemplo)... use o codigo
procedure TForm1.button1click(Sender: TObject);
var qtde:real;
produto:integer;
begin
qtde:=TabelaEntradaQtdeEntrada.value;
produto:=TabelaEntradaCodigoProduto.value;
TabelaEntrada.Post;
TabelaEstoque.Locate(´CampoCodigoProduto´,produto, loCaseInsensitive]);
TabelaEstoque.Edit;
TabelaEstoqueQuantidade.value:=TabelaEstoqueQuantidade.value+qtde;
TabelaEstoque.Post;
end;
Para a Saida apenas inverta os sinais...
procedure TForm2.button1click(Sender: TObject);
var qtde:real;
produto:integer;
begin
qtde:=TabelaSaidaQtdeSaida.value;
produto:=TabelaSaidaCodigoProduto.value;
TabelaSaida.Post;
TabelaEstoque.Locate(´CampoCodigoProduto´,produto, loCaseInsensitive]);
TabelaEstoque.Edit;
TabelaEstoqueQuantidade.value:=TabelaEstoqueQuantidade.value-qtde;
TabelaEstoque.Post;
end;
É bem manual, mas funciona se estiver usando TTable...
Qualquer duvida me mande um e-mail: edjborges@terra.com.br
Espero ter ajudado... :)
Dando entrada em produtos comprados, quando clicar no botao ´Gravar´ (por exemplo)... use o codigo
procedure TForm1.button1click(Sender: TObject);
var qtde:real;
produto:integer;
begin
qtde:=TabelaEntradaQtdeEntrada.value;
produto:=TabelaEntradaCodigoProduto.value;
TabelaEntrada.Post;
TabelaEstoque.Locate(´CampoCodigoProduto´,produto, loCaseInsensitive]);
TabelaEstoque.Edit;
TabelaEstoqueQuantidade.value:=TabelaEstoqueQuantidade.value+qtde;
TabelaEstoque.Post;
end;
Para a Saida apenas inverta os sinais...
procedure TForm2.button1click(Sender: TObject);
var qtde:real;
produto:integer;
begin
qtde:=TabelaSaidaQtdeSaida.value;
produto:=TabelaSaidaCodigoProduto.value;
TabelaSaida.Post;
TabelaEstoque.Locate(´CampoCodigoProduto´,produto, loCaseInsensitive]);
TabelaEstoque.Edit;
TabelaEstoqueQuantidade.value:=TabelaEstoqueQuantidade.value-qtde;
TabelaEstoque.Post;
end;
É bem manual, mas funciona se estiver usando TTable...
Qualquer duvida me mande um e-mail: edjborges@terra.com.br
Espero ter ajudado... :)
GOSTEI 0
Lindomar.des
31/07/2003
Erivan,
Só para reforçar o que o outro colega escreveu, inclua a Bde na clausula uses no form/datamodule onde as tabelas estiverem, e no evento de after post coloque a linha abaixo:
dbisavechanges((dataset as ttable).handle);
isso evitará perca de dados, pois dessa forma os dados são descarregados no disco.
Lindomar.
Só para reforçar o que o outro colega escreveu, inclua a Bde na clausula uses no form/datamodule onde as tabelas estiverem, e no evento de after post coloque a linha abaixo:
dbisavechanges((dataset as ttable).handle);
isso evitará perca de dados, pois dessa forma os dados são descarregados no disco.
Lindomar.
GOSTEI 0