Preciso fazer modificações em um DbGrid e cancelar depois...
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
Curtidas 0
Respostas
Koplin
01/09/2003
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.
GOSTEI 0