Fórum Totalizar venda e baixar estoque #173489

06/08/2003

0

Galera cabeça, seguinte.....eh facil facil, não pra mim hehehe

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

Thiago

Responder

Posts

06/08/2003

Koplin

Use uma query e faça Algo como:

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.


Responder

Gostei + 0

07/08/2003

Lcarvalhoneto

Não poderia ser feito via SQL mesmo?

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?


Responder

Gostei + 0

07/08/2003

Aroldo Zanela

Colegas,

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].


Responder

Gostei + 0

07/08/2003

Lcarvalhoneto

[quote:9fbef8cc6e=´Aroldo Zanela´]Colegas,

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!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar