Fórum ClientDataSET com Master/Detail #223797

01/04/2004

0

Tenho duas TQuerys Master/Detail que usam Midas e estão configuradas na propriedade DataSetField do Master para acessar a query Detail.

A Query Master é um join de duas tabelas, e utilizo o evento OnGetTableName para definir qual tabela que vai ser utilizada (para não usar UpdateSQL, visto que vamos passar para DBExpress em breve).
Acontece que na hora de dar o post na tabela Master, ele está procurando os campos da tabela Detail e como não encontra, dá erro. Usando o SQL Monitor, vi que ele tenta rodar o comando de inserção na tabela Mãe corretamente, mas inclui os campos na tabela filha. Por isso acontece o problema.

O que eu devo fazer para ele reconhecer que só quero inserir a Master?


Marcosalex

Marcosalex

Responder

Posts

01/04/2004

Kotho

Coloque no BeforeUpdateRecord do DataSetProvider, um codigo mais ou menos assim:

If SourceDS.Name = ´nome_da_query´ Then
  Applied := True;


este codigo vai ignorar todas as operações de inserção, deleção e alteração na query especificada...


Responder

Gostei + 0

01/04/2004

Marcosalex

Coloque no BeforeUpdateRecord do DataSetProvider, um codigo mais ou menos assim:
If SourceDS.Name = ´nome_da_query´ Then
  Applied := True;
este codigo vai ignorar todas as operações de inserção, deleção e alteração na query especificada...


Funcionou! Coloquei esses comandos na Query Master e funcionou certinho. Só que agora a inserção no detail não quer funcionar, será que é por isso?


Responder

Gostei + 0

05/04/2004

Kotho

exatamente... para funcionar a inclusão:

If (UpdateKind <> ukInsert) And (SourceDS.Name = ´nome_da_query´) Then 
  Applied := True;



Responder

Gostei + 0

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

Aceitar