Hallo,
ich frage eine Datenbank ab und speichere das Ergebnis als Textdatei.
Die Abfrage ermittelt alle Auftragsnummern eines bestimmten Tages und die dazugehörigen Artikel.
Ich würde jetzt gerne das Ergebnis nach Auftragsnummern sortiert auf mehrere Dateien aufteilen und für jede Auftragsnummer eine Textdatei mit den Artikeln abspeichern, komme hier aber nicht weiter.
program ausgabe;
var
Bestellt,ARTNR,ARTBEZ,PosNr : string;
sl: TStringList;
i: Integer;
begin
oQuery.close;
oQuery.SQL.Clear;
oQuery.SQL.Text := 'SELECT kopf.AUFNR,' +
position\_TABLE.Bestellt,position\_TABLE.ARTNR, PosNr, +
position\_TABLE.ARTBEZ FROM kopf kopf INNER JOIN "position" +
position\_TABLE ON (Kopf.AUFNR = kopf.AUFNR) AND +
(position\_TABLE.kopfguid = kopf.kopfguid) WHERE +
(kopf.LIEFERDATUM = ''2009-12-05'')';
oQuery.Open;
sl:=TStringList.Create; //Objekt erzeugen
PosNr := oQuery.FieldByName('PosNr').asString + ',';
ARTNR:= oQuery.FieldByName('ARTBEZ').asString + ',';
Bestellt := oQuery.FieldByName('Bestellt').asString + ',';
ARTBEZ :=oQuery.FieldByName('ARTNR').asString + ',';
while not oQuery.Eof do
begin
sl.add(oQuery.FieldByName('AUFNR').asString + ',' + PosNr + ARTNR + ARTBEZ + Bestellt);
sl.SaveToFile('c:\Listen\'+ oQuery.FieldByName('AUFNR').asString + '.txt');
oQuery.Next;
end;
end.
So wird zwar für jede Auftragsnummer eine Textdatei erstellt, aber die Artikel der ersten wiederholen sich in der zweiten Textdatei usw.
Kann mir hier jemand einen Tip geben, an welcher Stelle im Skript die Speicherung erfolgen muss.
Gruß Wolfgang