Fórum Salvando todos detalhes pela tabela Mestre #404056

30/06/2011

0

Bom gente, utilizo um relacionamento master-detail de 3 camadas, percebi que ao salvar o mestre os detalhes são salvos porém ao salvar ele vai automaticamente para o primeiro registro da tabela, e isso que eu não quero que aconteça, pois quando salvo outras tabelas normal sem este tipo de relacionamento ela salva e continua no mesmo registro, apenas com master-detail aconteçe isso ? Como concerto ?
Ronaldo Lanhellas

Ronaldo Lanhellas

Responder

Posts

30/06/2011

Wilson Junior

Quem vai para o primeiro regsitro, o mestre ou o detalhe?
Responder

Gostei + 0

30/06/2011

Ronaldo Lanhellas

Os dois !, todos as tabelas relacionadas vão para o primeiro registro, cheguei até pensar que seja alguma propriedade do DataSetProvider, porém não encontrei nada a respeito !
Responder

Gostei + 0

30/06/2011

Wilson Junior

Você da um refresh nas tabelas após a gravação?
- Sim, o refresh é como se executasse um novo SQL, assim ele reposiciona o cursor para o primeiro registro;
- Não, coloque aqui o código da parte da gravação para poder analisar.

Espero ter colaborado.
Responder

Gostei + 0

30/06/2011

Ronaldo Lanhellas

Amigo, creio que não esteja relacionado ao Refresh pois em outros sistemas que também utilizo o refresh ele nunca direciona a tabela para o registro inicial, o meu "Save" é bem simples também creio faça diferença, mais vamos lá
  if crud.Save(DsPromotores) thenbegin crud.Atualizar (DsPromotores.DataSet); ac_imprimir.execute;end;
  agora dentro da Classe CRUD 
 método Save   if MessageDlg('Deseja Salvar as Alterações ?',mtInformation, [mbOK,mbCancel],0) = mrOK thenbegin  try TClientDataSet(Ds.DataSet).ApplyUpdates(0); result := true; except reulst := false;endelseresult := false;



método atualizar 
 Ds.Refresh ;  


Responder

Gostei + 0

30/06/2011

Wilson Junior

Em todas as outras rotinas que você grava você chama a action ac_Imprimir? O que esta action faz especificamente?

Aguardo retorno.
Responder

Gostei + 0

30/06/2011

Ronaldo Lanhellas

Esta rotina faz impressão com WriteLn direto na impressora. 
Responder

Gostei + 0

30/06/2011

Wilson Junior

Mas ele utiliza os ClientDataSet Mestre e/ou Detalhe?
Responder

Gostei + 0

30/06/2011

Ronaldo Lanhellas

Detalhe ... ele faz o seguinte : 
 pega todos os produtos de um vendedor e imprimi ( sendo que os produtos são da tabela detalhe e o vendedor da mestre)
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar