Hallo m-werk,
das ist verwunderlich, weil wir ja extra die Abfrage FindField benutzen, um ein Feld nicht mehrfach hinzuzufügen.
Ich könnte mir aber vostellen, dass es da ein Problem gibt, weil ja die ADOFinanzierung Tabelle geöffnet ist, und du dann versuchst ein Feld hinzuzufügen. Versuche doch einmal:
Code:
if DM.ADOSFinanzierung.FindField(FeldName[i])=NIL then
begin
DM.ADOSFinanzierung.Close;
DM.QueryFinanzierung.Close;
DM.QueryFinanzierung.SQL.Clear;
DM.QueryFinanzierung.SQL.Add(InsertStr[i]);
DM.QueryFinanzierung.ExecSQL;
DM.ADOSFinanzierung.Open;
end;
Als zweite mögliche Ursache könnte ich mir vorstellen, dass es ein Problem gibt, wenn du die Felder der bereits bestehende Tabelle über den Feldeditor hinzugefügt hast. Es könnte sein, dass FindField dann die neuen Felder nicht findet. Ich meine mich erinnern zu können, dass das bei FieldByName auch so ist, dass die nicht eingefügten Felder nicht gefunden werden, obwohl sie ja in der zugrundeliegenden Datenmenge enthalten sind.