Código
Porém, me deparei com uma situação pouco comum, todos os meus masterDatails davam certo, menos os que usavam algum tipo de relacionamento no SQL como "inner join" no detail. Retornando o erro: "Token unknow - line (numero da linha, caractere) INNER". A solução nesse caso é:
Todos os clientdatasets que estiverem como datail e o dataset possuir INNER JOIN ou LEFT JOIN devem ser compilados em MasterSource, MasterFields e IndexFieldNames. Com o componente abrirá corretamente, após aberto, passe para ele as propriedades nessa ordem MasterSource, IndexFieldNames e MasterFields, o masterdetail se estabelecerá sem problema algum.
Exemplo:
// Ao abrir
CdsDetalhe.Open;
CdsDetalhe.MasterSource := dtsMestre;
CdsDetalhe.IndexFieldNames := 'ID';
CdsDetalhe.MasterFields := 'ID';
// Ao fechar
CdsDetalhe.Close;
CdsDetalhe.MasterSource := nil;
CdsDetalhe.IndexFieldNames := '';
CdsDetalhe.MasterFields := '';
espero ter ajudado
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009