Não consigo dar baixa no estoque

Delphi

28/05/2003

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.


Paulo

Paulo

Curtidas 0

Respostas

Luciano Pimenta®

Luciano Pimenta®

28/05/2003

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;


GOSTEI 0
Perin75

Perin75

28/05/2003

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;


GOSTEI 0
POSTAR