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:
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)