procedure
CreateLookups;
procedure
createit(KeyF,
LUpKeyF,
LUpRes :
string
;
T1, T2 :TADOTable);
begin
with
TStringField
.
Create(DataModule1
.
T)
do
begin
FieldName :=
'lookup'
+ KeyF;
FieldKind := fkLookup;
DataSet := T1;
Name :=
'My'
+ FieldName;
KeyFields := KeyF;
LookUpDataSet := T2;
LookUpKeyFields := LUpKeyF;
LookUpResultField:= LUpRes;
DataModule1
.
T
.
FieldDefs
.
Add(Name, ftString,
100
,
false
);
end
;
DataModule1
.
T
.
FieldByName(KeyF).Visible:=
false
;
DataModule1
.
T
.
FieldByName(KeyF).Index:=T1
.
Fields
.
Count-
1
;
DataModule1
.
T
.
FieldByName(
'lookup'
+ KeyF).Index:=StrToInt(KeyF)-
1
;
DataModule1
.
T
.
FieldByName(
'lookup'
+ KeyF).DisplayLabel:=KeyF;
end
;
begin
DataModule1
.
T
.
Active:=
false
;
createit(
'2'
,
'id'
,
'value'
, DataModule1
.
T, DataModule1
.
T2);
createit(
'4'
,
'id'
,
'value'
, DataModule1
.
T, DataModule1
.
T4);
createit(
'76'
,
'id'
,
'value'
, DataModule1
.
T, DataModule1
.
T76);
DataModule1
.
T
.
Active:=
true
;
end
;