DBGrid
Tenho um DBGrid que está relacionado com itens de Venda e Nele fiz um campo total que relaciona o valor unitário com a quantidade gostaria de saber como fazer quando eu cadastrar os itens de venda o valor total seja mostrado em um DBEdit com o total geral da venda efetuada
Luisgrossi
Curtidas 0
Respostas
Lindomar.des
23/11/2003
Colega,
Eu uso o seguinte código no evendo de alfterpost da tabela detalhe:
dbisavechanges((dataset as ttable).handle);
tblpedidocompra.Edit;
tblpedidocompratotaldopedido.Value := 0;
tblPedidoCompraTotaldosProdutos.value := 0;
tblPedidoCompraIPI.Value := 0;
tblitemcompra.First;
tblitemcompra.DisableControls;
while not tblitemcompra.Eof do
begin
tblpedidocompratotaldosprodutos.Value :=
tblPedidoCompraTotaldosProdutos.Value
+ tblItemCompraValorLiquido.value;
tblpedidoCompraIPI.value :=
tblPedidoCompraIpi.value
+ tblItemCompraVipi.value;
tblitemcompra.Next;
end;
tblPedidoCompraTotaldoPedido.value :=
TblPedidoCompraTotaldosProdutos.value
- tblPedidoCompraDescTributados.value
- tblPedidoCompraDescIsentos.value
+ tblPedidoCompraDespTributadas.value
+ tblPedidoCompraDespIsentas.value
+ tblPedidoCompraIpi.value
+ tblPedidoCompraOutrasDesp.value
+ tblPedidoCompraFrete.value
+ tblPedidoCompraIcmsr.value;
tblpedidocompra.Post;
tblitemcompra.EnableControls;
e o aseguinte no afterdelete:
tblitemcompra.DisableControls;
tblitemcompra.First;
tblpedidocompra.Edit;
tblpedidocompratotaldopedido.Value := 0;
while not tblitemcompra.Eof do
begin
tblpedidocompra.Edit;
tblpedidocompratotaldopedido.Value := tblpedidocompratotaldopedido.Value +
tblitemcompravalortotal.Value;
tblpedidocompra.Post;
tblitemcompra.Next;
end;
tblitemcompra.EnableControls;
obs: neste exemplo estou usando paradox, o código em IN/FB ainda não fiz.
Lindomar Sampaio
Vila Velha-ES
Eu uso o seguinte código no evendo de alfterpost da tabela detalhe:
dbisavechanges((dataset as ttable).handle);
tblpedidocompra.Edit;
tblpedidocompratotaldopedido.Value := 0;
tblPedidoCompraTotaldosProdutos.value := 0;
tblPedidoCompraIPI.Value := 0;
tblitemcompra.First;
tblitemcompra.DisableControls;
while not tblitemcompra.Eof do
begin
tblpedidocompratotaldosprodutos.Value :=
tblPedidoCompraTotaldosProdutos.Value
+ tblItemCompraValorLiquido.value;
tblpedidoCompraIPI.value :=
tblPedidoCompraIpi.value
+ tblItemCompraVipi.value;
tblitemcompra.Next;
end;
tblPedidoCompraTotaldoPedido.value :=
TblPedidoCompraTotaldosProdutos.value
- tblPedidoCompraDescTributados.value
- tblPedidoCompraDescIsentos.value
+ tblPedidoCompraDespTributadas.value
+ tblPedidoCompraDespIsentas.value
+ tblPedidoCompraIpi.value
+ tblPedidoCompraOutrasDesp.value
+ tblPedidoCompraFrete.value
+ tblPedidoCompraIcmsr.value;
tblpedidocompra.Post;
tblitemcompra.EnableControls;
e o aseguinte no afterdelete:
tblitemcompra.DisableControls;
tblitemcompra.First;
tblpedidocompra.Edit;
tblpedidocompratotaldopedido.Value := 0;
while not tblitemcompra.Eof do
begin
tblpedidocompra.Edit;
tblpedidocompratotaldopedido.Value := tblpedidocompratotaldopedido.Value +
tblitemcompravalortotal.Value;
tblpedidocompra.Post;
tblitemcompra.Next;
end;
tblitemcompra.EnableControls;
obs: neste exemplo estou usando paradox, o código em IN/FB ainda não fiz.
Lindomar Sampaio
Vila Velha-ES
GOSTEI 0
Luisgrossi
23/11/2003
Mas Preciso do código no interbase
GOSTEI 0
Lindomar.des
23/11/2003
Como disse, ainda não fiz, mas... acredito que seja basicamente o mesmo código. Não sei qual a melhor maneira de fazer: no caso de usar este mesmo código, o cliente que estaria realizando a operação. Se usar uma stored procedure a operação seria realizada no servidor.
Dentre as duas apesar de tudo, estou optando pelo cliente realizar a operação. Com stored procedure, no caso de uma troca de banco de dados, as procedures teriam que ser reescritas 9corrijam-me se estiver errado).
obs. ainda não decidi qail maneira utilizarei, será preciso realizar testes em rede para optar.
Lindomar Sampaio
Vila Velha-ES
Dentre as duas apesar de tudo, estou optando pelo cliente realizar a operação. Com stored procedure, no caso de uma troca de banco de dados, as procedures teriam que ser reescritas 9corrijam-me se estiver errado).
obs. ainda não decidi qail maneira utilizarei, será preciso realizar testes em rede para optar.
Lindomar Sampaio
Vila Velha-ES
GOSTEI 0