Fórum Totalizar venda e baixar estoque #173489
06/08/2003
0
programa para lanchonete, tenho um tabsheet para controlar os consumos de 10 mesas, pretendo por um dbgrid para relacionar o que mesa X consumiu e depois ao fechar a conta desta mesa toda a relação que estiver neste dbgrid baixasse em meu estoque, pois o valor total ira para meu caixa para poder cobrar e dar troco......
Alguem ai por favor...... a miué ja ta me cobrando que eu termine isso faz séculos hehehehe
Obrigado
[b:0c3093dbb7]Título editado pelo Moderador (AZ)[/b:0c3093dbb7]
Thiago
Curtir tópico
+ 0Posts
06/08/2003
Koplin
select * from tabela consumo where mesa = X
depois...
while not query1.eof do begin
tabelaestoque.locate(´produto´,query1.fieldbyname(´produto´).value,[]);
tabelaestoque.edit;
tabelaestoqueQuantidade:=tabelaestoqueQuantidade -query1.fieldbyname(´quantidade´).value;
tabelaestoque.post;
Query1.next;
end;
depois voce limpa os registros da tabela consumo usando sql:
delete from consumo where mesa = X;
ou trata de outra forma, dependendo do que vc precisa fazer; aguardar pagamento, etc.
Gostei + 0
07/08/2003
Lcarvalhoneto
ex:
VALOR TOTAL
----------------------------
select sum(Valor) as ´TotalPedido´ from Consumo where Mesa = :X
ATUALIZA O ESTOQUE
-----------------------------
update Produtos set
Estoque_Atual = Estoque_Atual - Consumo.Quantidade
from
Consumo, Produtos
where Produtos.CodProduto = Consumo.CodProduto
and Consumo.Mesa = :X
LEMBRE-SE!
Para ficar mais fácil, coloque esses códigos em uma Query e depois só passe os parametros p/ ela!
ex:
VALOR TOTAL
QueryTotal.Close;
QueryTotal.ParamByName(´X´).AsInteger := 10;
QueryTotal.Open;
variavel_totalPedido := QueryTotal.FieldByName(´TotalPedido´).AsTipoDaVariavel;
ATUALIZA O ESTOQUE
QueryAtuEstoque.Close;
QueryAtuEstoque.ParamByName(´X´).AsInteger := 10;
QueryAtuEstoque.Open;
Espero ter ajudado OK?
Gostei + 0
07/08/2003
Aroldo Zanela
Só lembrando que para instruções [b:4e508de7ec]SELECT[/b:4e508de7ec] usa-se o método [b:4e508de7ec]Open[/b:4e508de7ec] e para as demais (UPDATE, DELETE, INSERT, DDL), exclusivamente, [b:4e508de7ec]ExecSQL[/b:4e508de7ec].
Gostei + 0
07/08/2003
Lcarvalhoneto
Só lembrando que para instruções [b:9fbef8cc6e]SELECT[/b:9fbef8cc6e] usa-se o método [b:9fbef8cc6e]Open[/b:9fbef8cc6e] e para as demais (UPDATE, DELETE, INSERT, DDL), exclusivamente, [b:9fbef8cc6e]ExecSQL[/b:9fbef8cc6e].[/quote:9fbef8cc6e]
Bem lembrado!!!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)