Campos de Busca (Lookup)
Entendendo os Campos de Busca Lookup
Em modelagem de dados e sistemas de relatórios, um campo do tipo Lookup (ou campo de consulta) é um recurso de interface e engenharia de dados que substitui a digitação manual de códigos por uma lista de seleção visual alimentada em tempo real por uma tabela secundária do banco de dados.
O objetivo principal do Lookup é humanizar e blindar a parametrização de filtros. Em bancos de dados relacionais, entidades dependentes costumam ser amarradas por chaves numéricas ou hashes (IDs) que não possuem significado imediato para o usuário de negócios. O mecanismo de Lookup intercepta esse cenário mapeando a chave interna para uma coluna descritiva legível.
O Problema vs. A Solução com Lookup
Sem a configuração de um Lookup, se o usuário final precisasse extrair um relatório de vendas focado em um único ponto comercial ou produto, o fluxo operacional seria o seguinte:
- Cenário Comum (Sem Lookup): O operador abre o editor de filtros no relatório e se depara com uma restrição técnica pura, precisando digitar exatamente uma informação crua:
- Filtro: IdFilial = 24 ou CategoriaId = "8a3f7ec8"
- Problema: O usuário é obrigado a adivinhar ou consultar uma planilha externa para saber a qual filial física o número 24 corresponde. Qualquer erro de digitação resulta em um relatório em branco ou incorreto.
- Cenário Otimizado (Com Lookup): Ao mapear previamente o campo como um Lookup na Fonte de Dados, a aplicação altera dinamicamente o controle de entrada de dados exibido na tela:
- Filtro: O campo passa a exibir uma lista de seleção (Combobox ou Dropdown).
- Comportamento: O operador apenas clica no menu e seleciona visualmente a opção "Filial Centro" ou "Filial Porto Alegre".
- Por Trás dos Panos: O motor do sistema traduz a escolha textual amigável do usuário de volta para o código correspondente (24) de forma totalmente transparente antes de submeter a query final ao banco.
Benefícios na Configuração do Datasource
Mapear tabelas auxiliares como fontes de Lookup traz três vantagens críticas para o ecossistema do sistema:
- Garantia de Integridade: Extingue erros de digitação e consultas inválidas geradas por filtros construídos com dados inexistentes no catálogo.
- Agilidade Operacional: Acelera o processo de extração de relatórios, pois o usuário não precisa memorizar ou rastrear chaves estruturais.
- Segurança e Abstração: O usuário consome a inteligência do banco de dados sem a necessidade de compreender relacionamentos complexos de chaves primárias e chaves estrangeiras (PK/FK).
No sistema cadastramos esse tipo de campo a partir da tela de listagem de campos de lookups:

Fig. 01
Formulário de Adição de Lookups:
Esta tela permite configurar a amarração entre a tabela principal da Fonte de Dados e uma tabela auxiliar do banco, transformando um campo de texto ou ID em uma lista seletiva visual para o usuário final:

Fig. 02
Parametrização do Mapeamento
- Campo Origem: O campo da sua tabela principal (geralmente uma chave estrangeira/ID) que receberá o comportamento de Lookup (ex: EmployeeID).
- Conexão do Lookup: O servidor e a base de dados onde a tabela auxiliar está hospedada. O sistema permite buscar dados inclusive de outras conexões homologadas.
- Tabela do Lookup: O objeto físico do banco de dados que contém a lista de opções que você deseja expor (ex: a tabela Employees).
- Campo Chave (Valor): A coluna da tabela auxiliar que contém o código interno real que o banco de dados espera receber na query (geralmente a chave primária, ex: EmployeeID).
- Campo Exibição (Texto): A coluna da tabela auxiliar que contém o nome amigável ou descrição humanizada que o usuário final verá na tela (ex: LastName ou NomeDoFuncionario).
Para exemplificação temos na figura 03 e 04 uma entrada de lookup e em seguida o efeito na tela de filtragem de dados:

Fig. 03

Fig. 04