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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar