Hallo,
ich möchte zur Laufzeit eine Tabelle erstellen und einige Feldernamen aus einer anderen Tabelle zu Laufzeit ablesen.
Was mache ich hier falsch?
Code:
temp:=TADSTable.Create(self);
temp.AutoCalcFields:=true;
temp.DatabaseName:='Database';
temp.TableName:='temp';
temp.TableType:=ttAdsADT;
temp.FieldDefs.Clear;
temp.FieldDefs.Add('Artikelnummer', ftString, 6, false);
temp.FieldDefs.Add('Bestellnummer', ftString, 6, false);
temp.FieldDefs.Add('Warenbezeichnung', ftString, 6, false);
temp.FieldDefs[0].CreateField(temp);
temp.FieldDefs[1].CreateField(temp);
temp.FieldDefs[2].CreateField(temp);
for j:=0 to FilialeGrid.SelectedRows.Count-1 do
begin
qrFiliale.GotoBookmark(pointer(FilialeGrid.SelectedRows.Items[j]));
temp.FieldDefs.Add(qrFilialeFilialnummer.AsString+' '+qrFilialeName.AsString, ftInteger,0,false);
temp.FieldDefs[3+j].CreateField(temp);
end;
temp.FieldDefs.Update;
temp.CreateTable;
temp.Open;
ds := TDataSource.Create(self);
ds.DataSet:=temp;
SAGrid.DataSource:=ds;
Ich bekomme eine Fehlermeldung, dass die Felder, die in der
Schleife erstellt sind, nicht gefunden werden können.
Könnte mir jemand hier helfen?
Vielen Dank schon mal für alle Vorschläge.