Evento After ApplyUpdates do Master/Detalhe não é disparado.

Firebird

25/12/2005

Ola!
:D

Sou Desenv. D7 + IB/FB + DBExpress


Tenho a seguite dúvida:

Tenho um aplicativo que roda uma tabela Mestre/Detalhe.
Na insersao, uso o After ApplyUpdates p/ atualizar outro tabela,
funciona perfeitamente.
Mas já na alteracao, quando somente altero a tabela Itens,
o After ApplyUpdates do mestre não é disparado.
Fazendo testes, fiz modificações em um campo do mestre,
o mesmo foi disparado.
Então pergunto, se uma Tab Mestre/Detalhe, a tab. Mestre não
sofrer alteração e itens sim, o evento de Mestre After ApplyUpdates não será disparado ?
Então como fazer para que o mesmo dispares sem ter q ficar alterando
campos do mestre sem necessida p/ q o mesmo dispare ?

Desde já meus agradecimentos.

T+

ANT.CARLOS/SP

Feliz Ano Novo!

:D


Ant.carlos/sp

Ant.carlos/sp

Curtidas 0

Respostas

Thomaz_prg

Thomaz_prg

25/12/2005

Se você está usando esse evento para alterar uma outra tabela, te pergunto, porquê não usar uma trigger?? (Além de mais rápido, você teria menos implementação no seu sistema).


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

25/12/2005

uma forma de fazer isso funcionar seria colocar a tabela mestre em modo de edição no mesmo momento em que a tabela detalhe entrar em modo de edição.

no evento OnStateChange do datasource [b:f18113033b]detalhe[/b:f18113033b], coloque:
if TDatasource(Sender).Dataset.State in dsEdit then 
  try
    //*** note que aqui é o datasource mestre ***//
    if not DatasourceMestre.Dataset.IsEmpty then
      DatasourceMestre.Dataset.Edit;
  except
  end;



GOSTEI 0
POSTAR