Hallo zusammen,
Ich habe 2 Tabellen.
Tabelle1 "TB_IMPORT"
wird mit Daten aus *.xls oder *.txt gefüllt.
Tabelle2 "TB_RP2013"
soll mit Daten aus Tabelle1 befüllt werden aber keine schon vorhandenen Daten.
In beiden Tabellen gibt es das Feld "BEWNR" = Bewegnummer was eindeutig ist.
Mein momentaner Ansatz.
Delphi-Quellcode:
DBF2 := ZQuery2;
DBF3 := ZQuery3;
vJAHR:= '
2013';
with DBF2
do begin
SQL.Clear;
SQL.Text:= '
SELECT '+
'
TB_IMPORT.GEBUCHT, '+
'
COUNT(TB_IMPORT.BEWNR) AS DOPPELT, '+
'
TB_RP'+vJAHR+'
.BEWNR '+
'
FROM '+
'
TB_IMPORT '+
'
INNER JOIN TB_RP'+vJAHR+'
ON (TB_IMPORT.BEWNR=TB_RP'+vJAHR+'
.BEWNR) '+
'
GROUP BY '+
'
TB_IMPORT.GEBUCHT, '+
'
TB_RP'+vJAHR+'
.BEWNR';
DBF2.Active:= True;
Form1.ProgressBar1.Max:= DBF2.RecordCount;
while NOT DBF2.Eof
do begin
vBEWNR := DBF2.FieldValues['
BEWNR'];
Form1.ProgressBar1.Position:= DBF2.RecNo;
with DBF3
do begin
SQL.Clear;
SQL.Text:= '
UPDATE TB_IMPORT SET GEBUCHT = 1 WHERE '+
'
TB_IMPORT.BEWNR = ' + vBEWNR;
DBF3.ExecSQL;
end;
Label3.Caption:= IntToStr(DBF2.RecordCount);
Form1.Repaint;
DBF2.Next;
end;
end;
Es werden alle 2 Stunden cs. 10.000 Daten eingelesen was mit unter sehr langsam ist.
Ich denke, ich hatte das schon mal schneller. Nur leider sind von meiner 1. Version verschiedene Units verloren gegangen. Ich habe nur noch die *.exe Datei aber da finde ich nicht alles.
Habt Ihr eventuell einen hinweis was ich noch ändern sollte oder kann?
Vielen Dank