Boa Tarde Pessoal, Estou com o seguinte problema: tenho uma grade ligada ao quarteto TSQLQuery - ClientDataSet - Provider - DataSource. Tenho um select que faz um join com outra tabela para trazer o nome da chave estrangeira referida. Mas quando tento gravar pela grade me dá um erro dizendo que a coluna 'NOM_CONVENIO' não pertence a tabela referenciada. Explicando como fiz a tela: Tenho um edit onde retorno o nome do cliente e no exit desse edit abro o ClientDataSet da grade passando o código do cliente como parâmetro, o select da grade é o mostrado abaixo:
SELECT TCP.COD_PESSOA, TCP.COD_CONVENIO, TCP.NUM_CONVENIO, TCP.DTA_VLD_CONVENIO, TC.NOM_CONVENIO FROM TAB_CONVENIO_PESSOA TCP INNER JOIN TAB_CONVENIO TC ON TCP.COD_CONVENIO = TC.COD_CONVENIO INNER JOIN TAB_PESSOA TP ON TCP.COD_PESSOA = TP.COD_PESSOA WHERE TCP.COD_PESSOA = :COD_PESSOA Na grade eu tenho as seguinte colunas: nome do convênio (NOM_CONVENIO), nº do cartão (NUM_CONVENIO) e validade do convênio (DTA_VLD_CONVENIO). Na coluna NOM_CONVENIO busco o nome do convênio para apresentar na grade e preencho os outros dados na grade mesmo. Quando dou seta para baixo, no evento onKeyDown para salvar o registro me dá a mensagem: "Column 'NOM_CONVENIO' not belongs to referenceed table". Utilizo as linhas de código abaixo no OnKeyDown: if(Key = vk_down) then begin if(cdsConvenio.ApplyUpdates(0) <> 0) then cdsConvenio.CancelUpdates; end; A tabela em questão que a mensagem se refere é a TAB_CONVENIO_PESSOA que é a tabela de ligação entre a TAB_PESSOA (cliente) e a TAB_CONVENIO, onde os registros devem ser inseridos. Senhores como resolvo essa questão, pois não quero usar campo lookup? Já ouvi falar dos Providers Flags, mas nunca fiz nada desse tipo, portanto estou meio perdido. Qualquer ajuda será bem vinda, inclusive links de artigos sobre o assunto!! Muito obrigado. Atenciosamente, Rodrigo de Moura [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html