To: [EMAIL PROTECTED]; [EMAIL PROTECTED]: [EMAIL PROTECTED]: Wed, 17 Oct 2007 
11:39:56 +0000Subject: [delphi-br] Problema com Master-Detail - CDS




Bom dia a todos, estou com um problema com master detail, e procurando soluções 
na net nao achei nada que resolvesse o meu problema.a situação é essa:TAB1 - 
masterTAB2 - detail da TAB1TAB3 - detail da TAB2TAB4 - datail da TAB1fiz o 
seguinte:* Coloquei um SQLDataset (sql_TAB1) com o CommandText:select * from 
TAB1 where ID_TAB1 = :ID_TAB1* Adicionei os Fields e mudei o ProviderFlag, 
pfInkey do ID_TAB1 pra True;* Coloquei um DataSetProvider (dsp_TAB1), e 
selecionei para o DataSet, o sql_TAB1;* Coloquei um DataSource (dsc_TAB1_TAB2), 
e selecionei para o DataSet, o sql_TAB1;* Coloquei um SQLDataSet (sql_TAB2), 
com o CommandText:Select * from TAB2 where ID_TAB1 = :ID_TAB1* Selecionei para 
a propriedade DataSource, o dsc_TAB1_TAB2;* Ativei o sql_TAB1 e adicionei os 
Fields no sql_TAB2;* Adicionei os Fields e mudei o ProviderFlag, pfInkey do 
ID_TAB2 pra True;* Coloquei um DataSource (dsc_TAB2_TAB3), e selecionei para o 
DataSet, o sql_TAB2;* Coloquei um SQLDataSet (sql_TAB3), com o 
CommandText:Select * from TAB3 where ID_TAB2 = :ID_TAB2* Selecionei para a 
propriedade DataSource, o dsc_TAB2_TAB3;* Ativei o sql_TAB2 e adicionei os 
Fields no sql_TAB3;* Adicionei os Fields e mudei o ProviderFlag, pfInkey do 
ID_TAB3 pra True;* Coloquei um DataSource (dsc_TAB1_TAB4), e selecionei para o 
DataSet, o sql_TAB1;* Coloquei um SQLDataSet (sql_TAB4), com o 
CommandText:Select * from TAB4 where ID_TAB1 = :ID_TAB1* Selecionei para a 
propriedade DataSource, o dsc_TAB1_TAB4;* Ativei o sql_TAB1 e adicionei os 
Fields no sql_TAB4;* Adicionei os Fields e mudei o ProviderFlag, pfInkey do 
ID_TAB4 pra True;* Coloquei um ClientDataSet (cds_TAB1) e liguei ao dsp_TAB1;* 
Adicionei os Fields e mudei o ProviderFlag, pfInkey do ID_TAB1 pra True;* 
Coloquei um ClientDataSet (cds_TAB2) e selecionei em DataSetFields o campo 
cds_TAB1sql_TAB2;* Adicionei os Fields e mudei o ProviderFlag, pfInkey do 
ID_TAB2 pra True;* Coloquei um ClientDataSet (cds_TAB3) e selecionei em 
DataSetFields o campo cds_TAB2sql_TAB3;* Adicionei os Fields e mudei o 
ProviderFlag, pfInkey do ID_TAB3 pra True;* Coloquei um ClientDataSet 
(cds_TAB4) e selecionei em DataSetFields o campo cds_TAB1sql_TAB4;* Adicionei 
os Fields e mudei o ProviderFlag, pfInkey do ID_TAB4 pra True;Depois coloquei 4 
DataSources, Liguei aos CDS's e coloquei os DataControls para edição.Eu 
adiciono os registros normalmente, altero e excluo, confirmo o Apply e tudo 
OK.Porem se eu fechar o form e abrir novamente, na hora de alterar ou excluir 
os details, da o erro:"record not found or changed for another user" - Na net 
dizem q a solução é alterar os providersfflags dos campos chave primaria, pra 
pfInkey = True, mas no meu caso jah estao assim.Se eu altero o UpdateMode do 
Provider pra whereKeyOnly o erro passa a ser:"unabled to find record. No Key 
Specified"ps: Fiz os testes adicionando apenas os fields nos CDS, ocorrem os 
mesmos erros.ps2: Desculpem o texto grande, mas tentei passar todos os passos q 
fiz, para facilitar o entendimento.agradeço a todos q possam ajudar com este 
problema ...vlw.__________________________________________________________Veja 
mapas e encontre as melhores rotas para fugir do trânsito com o Live Search 
Maps!http://www.livemaps.com.br/index.aspx?tr=true 






_________________________________________________________________
Receba as últimas notícias do Brasil e do mundo direto no seu Messenger com 
Alertas MSN! É GRÁTIS!
http://alertas.br.msn.com/

[As partes desta mensagem que não continham texto foram removidas]

Responder a