Valor de campo Lookup em DBGrid

20/03/2006

0

Boa noite... Pesquisei no Fórum e não conseguí achar algo que me ajudasse. :(

Tenho uma DBGrid onde são mostrados os campos Data, Hora, Módulo e Tipo através de uma consulta ADOQuery em uma tabela Access. Com exceção do campo Data, todos os outros são chaves estrangeiras de outras tabelas (campos numéricos), e na DBGrid são mostrados as Strings através de novos campos Lookup criados (os campos numéricos estão com a propriedade Visible = False no Fields Editor da Query).

Meu problema é o seguinte: estou querendo alterar o valor de um dos campos quando der um duplo-clique em uma das linhas da DBGrid. Para isso, precisaria saber o valor das chaves-primárias da linha clicada, e atualizaria o campo através de uma instrução SQL ou mesmo através de um componente ADOTable.

Já tentei através da ADOQuery, colocando a propriedade Visible = True nos campos do Fields Editor, e tentei pegar os valor da seguinte forma:

var CodAluno, CodModulo: integer;

CodAluno := dm.qryRep.FieldValues[´Cod_Aluno´];
CodModulo := dm.qryRep.FieldValues[´Cod_Modulo´];

Não retorna valor algum. Quando coloco um ponto de interrupção no código e o cursor do mouse sobre a propriedade FieldValues, dá a seguinte mensagem para cada uma das linhas acima:

dm.qryRep.FieldValues = ´[´ expected but end of file found

Resumindo: como pegar novamente as chaves primárias dos campos clicando-se na DBGrid ?

Obrigado pela ajuda... :lol:


Adalberto

Adalberto

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar