ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[resolvido] Popular combobox com campo lookup

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Ter Mar 21, 2017 8:02 am    Assunto: [resolvido] Popular combobox com campo lookup Responder com Citação

Amigos, de que forma pode ser feito

Código:
  with qrBuscaSacados do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT DISTINCT COD_SACADO');
    SQL.Add('FROM TBCONTAS_RECEBER C');
    SQL.Add('INNER JOIN TBSACADOS S');
    SQL.Add('ON S.CODIGO = C.COD_SACADO');
    Prepare;
    Open;

   while not eof do
    begin
      ComboSacados.Items.Add(FieldByName('S.SACADO').AsString);
      Next;
    end;
  end;


Da erro nessa linha, dizendo que essa campo S.SACADO não existe

Código:
ComboSacados.Items.Add(FieldByName('S.SACADO').AsString);


Uso essa mesma SQL para realizar buscas no evento de keypress de um TEdit. Não entendo porque não funciona pra popular o combobox.


Editado pela última vez por renanbg em Ter Mar 21, 2017 9:30 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Ter Mar 21, 2017 8:50 am    Assunto: Responder com Citação

quando você utiliza o FieldByName, você passa o nome de um campo existente no select da query, não precisa passar o nome da tabela a qual ele pertence, pois o comando select já foi realizado.

no caso do select que você postou, o único campo disponível para ser utilizado é o COD_SACADO, nesse caso, seu FieldByName ficaria assim:

Código:
ComboSacados.Items.Add(FieldByName('COD_SACADO').AsString);


caso queira utilizar o campo Sacado da tabela TBSACADOS, será necessário adicioná-lo no select

ex:

Código:
with qrBuscaSacados do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT DISTINCT COD_SACADO, S.SACADO');
    SQL.Add('FROM TBCONTAS_RECEBER C');
    SQL.Add('INNER JOIN TBSACADOS S');
    SQL.Add('ON S.CODIGO = C.COD_SACADO');
    Prepare;
    Open;

   while not eof do
    begin
      ComboSacados.Items.Add(FieldByName('SACADO').AsString);
      Next;
    end;
  end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
renanbg
Colaborador
Colaborador


Registrado: Quinta-Feira, 12 de Abril de 2012
Mensagens: 1158

MensagemEnviada: Ter Mar 21, 2017 9:29 am    Assunto: Responder com Citação

Hum, entendi Leo.

Obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB