Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как создать поле Lookup во время выполнения приложения?

01.01.2007
uses 
  Forms, Classes, Controls, StdCtrls, Db, DBTables, DBCtrls; 
 
 
type 
  TForm1 = class(TForm) 
    Table1: TTable;   // DBDemos customer table 
    Table2: TTable;   // DBDemos orders table 
    Button1: TButton; 
    DBLookupComboBox1: TDBLookupComboBox; 
    DataSource1: TDataSource; 
    Table2CustNo: TFloatField;  // CustNo key field object used for Lookup   
    procedure Button1Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  Form1: TForm1; 
 
implementation 
 
{$R *.DFM} 
 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  with TStringField.Create(Table2) do begin 
    FieldName := 'MyLookup'; 
    FieldKind:= fkLookup; 
    DataSet := Table2;   
    Name := Dataset.Name + FieldName; 
    KeyFields:= 'CustNo'; 
    LookUpDataset:= Table1; 
    LookUpKeyFields:= 'CustNo'; 
    LookUpResultField:= 'Company'; 
    DbLookupCombobox1.DataField:= FieldName; 
    DataSource1.DataSet:= Dataset; 
    Table2.FieldDefs.Add(Name, ftString, 20, false); 
  end; 
  DbLookupCombobox1.DataSource:= Datasource1; 
  Table1.Active:= True; 
  Table2.Active:= True; 
end; 
 
end.

Взято из https://forum.sources.ru