Ich habe jetzt selber eine Lösung gefunden, wenn auch keine sonderlich geniale - aber sie funktioniert und braucht nur ca. 10 Sekunden gegenüber der vorgeschlagenen, die hochgerechnet 4,5 Stunden braucht (500 Datensätze pro Minute bei ca. 118.000 Datensätzen !!!):
Durch SELECT eine Abfrage erzeugen, die die Werte beider Tabellen zusammenfasst:
SQL-Code:
SELECT
a.Auftrnum,
a.positnum,
a.menge,
a.modellnum,
a.ARTIKELBESCHR,
a.LPREISMSTOFF,
a.DIFFSOLLPREIS,
a.ZUBEHOER,
a.BESTAETPREIS,
a.EPREISRAB,
a.fz1,
a.mzbh,
a.bestpreis,
a.fz,
a.rabatt,
a.BETRAG,
a.RABATTBETRAG,
a.pos_h,
a.pos_u,
b.rabattsatz
FROM "auftragpos.db" a
INNER JOIN "Rabatte.db" b
ON a.Auftrnum = b.Auftrnum
and a.Pos_h = b.Pos_h
WHERE a.pos_u = 0
Dieser Selectbefehl ist zu lang für
SQL.Text := ... usw.
Daher mache ich's mit dem Befehl
Abfrage.SQL.LoadFromFile(Verzeichnis + Dateiname);
Dann erzeuge ich eine neue Instanz Batchmove, wähle die eben erzeugte Abfrage als Source und lasse den Batchmove über die Option batCopy (Mode) eine neue Tabelle erzeugen, die dann genau so aussieht, wie ich sie haben möchte.
[edit=mkinzler]SQL-Tag eingefügt Mfg, mkinzler[/edit]
Danke schön - ich lern's auch noch, vg Thomas