Fórum .:: Atualizar estoque com SQL ::. #171532
25/07/2003
0
Estou usando o Banco Paradox e o seguinte código para atualizar meu estoque :
var registro : integer;
begin
REgistro := table1codprodvendas.AsInteger;
table2.First; // coloca no inicio
While not table1.Eof Do // enquanto nao chegar no final
begin
If Table2Codigoprod.Asinteger = Registro then
begin
Table2.Edit;
table2estoque.Asfloat:= table2estoque.Asfloat - table1qtd.Asfloat;
table2.post;
end;
table2.Next; // nao encontrando avança para proximo produto
end;
O sistema compila sem problemas, mas na hora de executar a rotina meu programa trava.
Não seria mais fácil fazer essa rotina em SQL?
Se alguém tiver algum exemplo pra me passar eu agradeceria, ou também se tivesse alguma explicação do porque meu programa trava com essa rotina também seria de grande ajuda.
Agradeço novamente a atenção de vocês. :roll:
[]´s
Shuljenko
Curtir tópico
+ 0Posts
26/07/2003
Jeancamila
coloque os campos das tabelas para poder analisar!
Grato
Jean
Gostei + 0
26/07/2003
Joilson_gouveia
O código trava porque a Table1 não tem o NEXT. Fica em Loop...
Verifique se o seu código em vermelho abaixo não estaria errado...
T+
var registro : integer;
begin
REgistro := table1codprodvendas.AsInteger;
table2.First; // coloca no inicio
While not table1.Eof Do // enquanto nao chegar no final
begin
If Table2Codigoprod.Asinteger = Registro then
begin
Table2.Edit;
table2estoque.Asfloat:= table2estoque.Asfloat - table1qtd.Asfloat;
table2.post;
end;
[color=red:1091a40c50]table2.Next; // nao encontrando avança para proximo produto [/color:1091a40c50]end;
Gostei + 0
26/07/2003
_nekinho_
e o campo que contem o estoque é ESTOQUE, seria assim
UPDATE produto SET estoque = estoque - :QtdVendida
WHERE CodProduto = :CodProduto;
Simples né?
Na aplicação seria,
QryBaixaEstoque.ParamBy(´QtdVendida´).AsFloat := 10; // 10 vendidos
QryBaixaEstoque.ParamBy(´CodProduto´).AsInteger := 1207;
QryBaixaEstoque.ExecSQL;
QryBaixaEstoque é um componente estoque em q sua propriedade SQL... tem aquela Sql lá d cima =) Simples né? Boa Sorte e divirta-se meu caro.
´Se alguem souber d emprego na area de informatica em Fortaleza-CE me avisa heim =)´ (Eu mesmo) jnelson3@ig.com.br
Gostei + 0
26/07/2003
Shuljenko
Agradeço a todos novamente ,
TABELA PRODUTOS
CodigoProd - Numerico
Descricao - Alpha
Unidade - Alpha
Valor - Numerico
Estoque - Numerico
Est_minimo - Numerico
TABELA VENDAS
Codvendas - +
Mesa - Alpha
CodProdVendas - Numerico
QTD - Numerico
CodFunc - Alpha
[]´s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)