Fórum Como usar Master Source com ADOQuery #294518
05/09/2005
0
Tenho duas tabela a Mãe e a filha...
Porem eu só quero gravar a mãe depois de digitar todos os dados da filha.....ou seja serie em chache...
Se alguem souver como, me ajude...
Grato..
robson.
Robsons
Curtir tópico
+ 0Posts
06/09/2005
Paullsoftware
normalmente faço o seguinte:
para linkar duas tabelas usando Query eu faço o seguinte.
no evento OnNewRecord da tabela [b:dd6547b8f9]Detalhe[/b:dd6547b8f9] (filha) coloque:
[color=green:dd6547b8f9]//Deve-se gravar as alterações na tabela mãe antes de inserir novos dados na tabela filha, isso se for uma nova transação...[/color:dd6547b8f9]
if DsMae.State in [DsEdit,DsInsert] then QueryMae.Post;
QueryFilhaCodigo.AsIsteger := QueryMaeCodigo.AsInteger;
com isso já ta feita a ligação dos dados da tabela filha para os dados da tabela mãe.
para fazer uma especie de filtro nos dados da filha faça..:
SQL DA FILHA
SELECT * FROM FILHA WHERE CODIGO>0 ORDER BY NOME
do evento AffterScroll da tabela [b:dd6547b8f9]Master[/b:dd6547b8f9] (mãe)
QueryFilha.Close;
QueryFilha.Sql[1]:=´Where Codigo like ´ + chr(39) + IntToStr(QueryMaeCodigo.AsInteger) + Chr(39);
QueryFilha.Open;
espero ter ajudado, se ouver algum erro post aqui, pois, não testei o código acima mais acho que vai funcionar..
Gostei + 0
06/09/2005
Robsons
O meu problema e justamente este...
Eu não queria dar o post na tabela mãe, sem antes digitar todo o
conteudo das filhas...
eu faço isto com ClientDataset, porém tem dado alguns Erros..
Então estou tentando arrumar outra alternativa...
Valeu...
Gostei + 0
06/09/2005
Andre0201
Se seu banco possuir relacionamentos, você será obrigado a incluir a ´Mãe´ para depois incluir as filhas.
Mesmo utilizando tabelas Temporárias, você terá que artualizar no BD primeiro a a ´Mãe´ para depois atualizar as filhas.
Abraços
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)