ich hab das fehlende Bindeglied gefunden
Man muss die Tabelle erst persistent machen, danach kann man sein LookUpfield auch zur Laufzeit erzeugen.
dies macht man für dieses Beispiel wie folgt:
Delphi-Quellcode:
procedure TFMain.CreatePersistentFields;
var i: Integer;
begin
DSetDaten.FieldDefs.Update;
DSetDaten.Close;
for I := 0 to DSetDaten.FieldDefs.Count - 1 do
if DSetDaten.FindField(DSetDaten.FieldDefs[i].Name) = Nil then
DSetDaten.FieldDefs.Items[i].CreateField(DSetDaten);
end;
procedure TFMain.SetLookUp;
begin
CreatePersistentFields;
with TStringField.Create(DSetDaten) do
begin
Name := 'FieldNachschlagen';
FieldName := 'FieldNachschlagen';
DisplayLabel := 'Info';
FieldKind := fkLookup;
DataSet := DSetDaten;
LookupDataSet := DSetInfos;
KeyFields := 'INFOID';
LookupKeyFields := 'ID';
LookupResultField := 'Info';
end;
DSetDaten.Open;
end;
danke für eure Anregungen Lösungsansätze