Rotina em sql. Dúvida.
Como fazer uma rotina de baixa de estoque usando sql?
Eu em paradox fazia 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;
Funciona muito bem, mas no IB não.
Só q com IB 6, dá o erro: Update Failed! E também não é
bom usar Locate Com IB. Como fazer em SQL?
Eu em paradox fazia 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;
Funciona muito bem, mas no IB não.
Só q com IB 6, dá o erro: Update Failed! E também não é
bom usar Locate Com IB. Como fazer em SQL?
Paulo
Curtidas 0
Respostas
Nildo
21/08/2003
estoque.sql.clear;
estoque.sql.add(´update ESTOQUE set qtd=qtd - ´ + itensqde.asString + ´ where CODIGO = ´+ ItensCodigo.asString);
Estoque.execSql;
t+
estoque.sql.add(´update ESTOQUE set qtd=qtd - ´ + itensqde.asString + ´ where CODIGO = ´+ ItensCodigo.asString);
Estoque.execSql;
t+
GOSTEI 0
Paulo
21/08/2003
Nildo, eu fiz isso e dá o seguinte erro:Unknown Column PL
Eu fiz uns teste com um produto ficticio de codigo 125-PL. Dá erro no ExecSql. Vou tentar criar um código incremental e usá-lo para ver se o problema não é o código String. Qualquer coisa t posto outra msg.
Eu fiz uns teste com um produto ficticio de codigo 125-PL. Dá erro no ExecSql. Vou tentar criar um código incremental e usá-lo para ver se o problema não é o código String. Qualquer coisa t posto outra msg.
GOSTEI 0
Allen74
21/08/2003
Paulo, quer dizer que seu código é alfa numérico, certo?
Então altere o código do nildo assim:
Então altere o código do nildo assim:
estoque.sql.add(´update ESTOQUE set qtd=qtd - ´ + itensqde.asString + ´ where CODIGO = ´+ QuotedStr(ItensCodigo.asString));
GOSTEI 0
Mysys
21/08/2003
crie uma TRIGGER de ajuste de estoque
e muito mais seguro
e muito mais seguro
GOSTEI 0
Paulo
21/08/2003
Como criar uma trigger de ajuste de estoque
GOSTEI 0
Mysys
21/08/2003
Como criar uma trigger de ajuste de estoque
Cara eu nao me lembro qual o comando todo pra crear mas use o modo
grafico de algum gerenciados de InterBase e crie mais ou menos assim
ex: quando voce for inserir um valor na tabela de produto de nota fiscal
UPDATE TBL_ETQ SET QNTETQ = TBL_ETQ.QNTETQ - TBL_VND.QNTVND
WHERE TBL_ETQ.CODPRD = TBL_VND.CODPRD
faz o seguinte aqui no forum vai em pesquisar coloque a palavra trigger
que voce vai encontrar a sintax para criar trigger ai é so colocar o resto
GOSTEI 0
Paulo
21/08/2003
Criar Trigger eu sei, o q tenho dúvida é fazer a chamada. No seu exemplo vc usou duas tabelas no mesmo Update. Será q vai assim?
GOSTEI 0
Paulo
21/08/2003
o..
GOSTEI 0
Mysys
21/08/2003
nao presisa chamar a trigger
uma vez criada no banco de dados toda vez que voce
inserir editar ou excluir arquivos da tabela onde voce colocou a trigger
ele dispara sosinho
talves voce tenha feito a trigger errado
criou ele certo porem nao dispara nada
uma vez criada no banco de dados toda vez que voce
inserir editar ou excluir arquivos da tabela onde voce colocou a trigger
ele dispara sosinho
talves voce tenha feito a trigger errado
criou ele certo porem nao dispara nada
GOSTEI 0