Fórum Não consigo dar baixa no estoque #163106
28/05/2003
0
Minha rotina está assim:
itens.first;
while not(itens.Eof) do begin
estoque.locate(´Codigo´, itenscodigo.asstring, []);
estoque.edit;
estoqueqde.asfloat:=estoqueqde.asfloat-itensqde.asfloat;
estoque.post;
itens.next;
end;
criei um locate para igualar o item na tabela de itens com a do estoque.
Antes funcionava, mas agora não. Porque? Desse jeito, só baixa o primeiro item e só, mesmo que eu tenha vendido 10 itens.
itens.first;
while not(itens.Eof) do begin
estoque.locate(´Codigo´, itenscodigo.asstring, []);
estoque.edit;
estoqueqde.asfloat:=estoqueqde.asfloat-itensqde.asfloat;
estoque.post;
itens.next;
end;
criei um locate para igualar o item na tabela de itens com a do estoque.
Antes funcionava, mas agora não. Porque? Desse jeito, só baixa o primeiro item e só, mesmo que eu tenha vendido 10 itens.
Paulo
Curtir tópico
+ 0
Responder
Posts
28/05/2003
Luciano Pimenta®
Tente alterar para o tipo integer o campo que vc esta procurando, ou transforme para inteiro.
itens.first;
while not(itens.Eof) do begin
estoque.locate(´Codigo´, [b:8201983e37]itenscodigo.asinteger[/b:8201983e37], []);
estoque.locate(´Codigo´, [b:8201983e37]StrToInt(itenscodigo.asstring)[/b:8201983e37], []);
estoque.edit;
estoqueqde.asfloat:=estoqueqde.asfloat-itensqde.asfloat;
estoque.post;
itens.next;
end;
itens.first;
while not(itens.Eof) do begin
estoque.locate(´Codigo´, [b:8201983e37]itenscodigo.asinteger[/b:8201983e37], []);
estoque.locate(´Codigo´, [b:8201983e37]StrToInt(itenscodigo.asstring)[/b:8201983e37], []);
estoque.edit;
estoqueqde.asfloat:=estoqueqde.asfloat-itensqde.asfloat;
estoque.post;
itens.next;
end;
Responder
Gostei + 0
28/05/2003
Perin75
cara tenta com query
por exemplo
componte query
query.close;
query.sql.clear;
query.sql.add(´update estoque set qtde = qtde-:item ´);
query.sql.add(´where codigo =:codigo ´);
query.ParamByName(´item´).asfloat := itensqde.asfloat;
query.ParamByName(´codigo´).asstring := itenscodigo.asstring;
query.execsql;
por exemplo
componte query
query.close;
query.sql.clear;
query.sql.add(´update estoque set qtde = qtde-:item ´);
query.sql.add(´where codigo =:codigo ´);
query.ParamByName(´item´).asfloat := itensqde.asfloat;
query.ParamByName(´codigo´).asstring := itenscodigo.asstring;
query.execsql;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)