Fórum Preciso fazer modificações em um DbGrid e cancelar depois... #179001
01/09/2003
0
Tenho duas tabelas uma de Venda(CodVenda,Data,Cliente,Funcionario,Total)
e outra de ItensVenda (CodItemVenda,CodVenda,Produto,Qtde,ValUnit,Total)
se eu fizer lançamentos na tabela de venda e depois no dbgrid que esta ligado na ItensVenda quando eu salvo os itens somem devido ao fato de estar sendo efeturada uma relação master/detail até ae tudo bem, eu resolvi o problema gerando o CodVenda no evento OnNewRecord...
o problema é o seguinte...
se eu cancelar a nota depois de lançar os itens da venda a Venda é cancelada e os Itens ficam órfãos pois perdem a relação...
gostaria de saber se existe alguma maneira de fazer com que os novos dados inseridos em uma tabela possam ficar em cache e só serem salvos se eu confirmar se não eles somem...
Valeu pela atenção...
até mais...
e outra de ItensVenda (CodItemVenda,CodVenda,Produto,Qtde,ValUnit,Total)
se eu fizer lançamentos na tabela de venda e depois no dbgrid que esta ligado na ItensVenda quando eu salvo os itens somem devido ao fato de estar sendo efeturada uma relação master/detail até ae tudo bem, eu resolvi o problema gerando o CodVenda no evento OnNewRecord...
o problema é o seguinte...
se eu cancelar a nota depois de lançar os itens da venda a Venda é cancelada e os Itens ficam órfãos pois perdem a relação...
gostaria de saber se existe alguma maneira de fazer com que os novos dados inseridos em uma tabela possam ficar em cache e só serem salvos se eu confirmar se não eles somem...
Valeu pela atenção...
até mais...
Profjohnny
Curtir tópico
+ 0
Responder
Posts
01/09/2003
Koplin
Se o banco não permitir transação, Use uma query e coloque o seguinte no evento beforeCancel da tabela de vendas:
With query1 do begin
close;
sql.clear;
sql.add(´delete from tensVenda where codvenda = ´+TVendaCodVenda.asstring)
execsql;
end;
Se houver registros com o codvenda da tabela venda, ele serão apagados.
With query1 do begin
close;
sql.clear;
sql.add(´delete from tensVenda where codvenda = ´+TVendaCodVenda.asstring)
execsql;
end;
Se houver registros com o codvenda da tabela venda, ele serão apagados.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)