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.
Код на языке Delphi, который создает интерфейс с комбобоксом для поиска данных из таблицы DBDemos customer в таблице DBDemos orders. Комбобокс позволяет выбрать значение из поля "Company" таблицы customer, используя поле "CustNo" как ключ для поиска.
В коде создается форма с кнопкой и комбобоксом. При нажатии на кнопку, код создает новый поле в таблице orders с именем "MyLookup", указывает его тип как LookupField и настраивает параметры для поиска данных в таблице customer.
Затем код связывает комбобокс с источником данных, активирует оба таблицы и настраивает виджет комбобокса для отображения результатов поиска.
|