Exclusão de cabeçalho e itens
Alguém pode me ajudar?
Num mesmo form tenho um cabeçalho, que se refere a uma tabela chamada ORCAMENTO, acessada através
do DataModule1.Query1 do fonte abaixo. E tenho um dbgrid onde insiro itens, que está ligado a tabela
ITENS através do DataModule2.Query2 do fonte abaixo.
O que estou tentando fazer é que no momento da exclusão do cabeçalho (ORCAMENTO) o sistema exclua automaticamente
os itens (ITENS), se existirem.
Estou usando o código abaixo, mas este só funciona quando houver itens cadastrados. No caso de não haver itens, dá o seguinte erro ´cannot perform this operation on a empty dataset´. Sei que o erro
está na condição ´if DataModule2.Query2.FieldCount>0´. Estou tentando testar se há itens cadastrados para que então os exclua. O que está errado? Vejam o código abaixo:
begin
if application.messagebox(´Deseja realmente excluir o registro selecionado e todos os seus itens?´ ,
´Atenção!´, mb_yesno+mb_iconwarning+mb_defbutton2)=idyes then
begin
if DataModule2.Query2.FieldCount>0 then
begin
DataModule2.Query2.Open;
DataModule2.Query2.Delete;
DataModule2.Query2.ApplyUpdates;
DataModule2.Query2.Close;
end;
DataModule1.Query1.Open;
DataModule1.Query1.Delete;
DataModule1.Query1.ApplyUpdates;
DataModule1.Query1.Close;
end;
DataModulePrograma.TransactionPrograma.CommitRetaining;
end;
Obrigado!
Num mesmo form tenho um cabeçalho, que se refere a uma tabela chamada ORCAMENTO, acessada através
do DataModule1.Query1 do fonte abaixo. E tenho um dbgrid onde insiro itens, que está ligado a tabela
ITENS através do DataModule2.Query2 do fonte abaixo.
O que estou tentando fazer é que no momento da exclusão do cabeçalho (ORCAMENTO) o sistema exclua automaticamente
os itens (ITENS), se existirem.
Estou usando o código abaixo, mas este só funciona quando houver itens cadastrados. No caso de não haver itens, dá o seguinte erro ´cannot perform this operation on a empty dataset´. Sei que o erro
está na condição ´if DataModule2.Query2.FieldCount>0´. Estou tentando testar se há itens cadastrados para que então os exclua. O que está errado? Vejam o código abaixo:
begin
if application.messagebox(´Deseja realmente excluir o registro selecionado e todos os seus itens?´ ,
´Atenção!´, mb_yesno+mb_iconwarning+mb_defbutton2)=idyes then
begin
if DataModule2.Query2.FieldCount>0 then
begin
DataModule2.Query2.Open;
DataModule2.Query2.Delete;
DataModule2.Query2.ApplyUpdates;
DataModule2.Query2.Close;
end;
DataModule1.Query1.Open;
DataModule1.Query1.Delete;
DataModule1.Query1.ApplyUpdates;
DataModule1.Query1.Close;
end;
DataModulePrograma.TransactionPrograma.CommitRetaining;
end;
Obrigado!
Tomew
Curtidas 0