Einzelnen Beitrag anzeigen

ts-d

Registriert seit: 29. Apr 2008
31 Beiträge
 
#1

Abfrage dauert und dauert

  Alt 17. Feb 2022, 13:11
Eine Abfrage dauert so ewig lang.
Eine andere ist vorgeschaltet. Sie listet nur Auftragsnummern, bei denen bestimmte Kriterien erfüllt sind: Hauptartikel wird abgefragt mit Position 3.0 beispielsweise und Unterposition 3.5 beispielsweise. Das geht ruck zuck (ca. 0,5 Sekunden).

Dann schalte ich eine Detailansicht hinterher. Hier werden ein paar Infos aus verschiedenen Tabellen zusammengetragen (gemeinsame Auftrags- und sonstige Details und dann die Details zum Hauptartikel bzw. zum Unterartikel). Das dauert pro Abfrage ca. 10 Sekunden. Das ist untragbar. Mache ich da was falsch bzw. kann ich da noch Zeit optimieren?

Code:

AuftrNum := DM_kalo.Q_HauptUnterPos.FieldByName('AUFTRNUM').As String;
h := DM_kalo.Q_HauptUnterPos.FieldByName('h').AsString;
a := DM_kalo.Q_HauptUnterPos.FieldByName('a').AsString;
b := DM_kalo.Q_HauptUnterPos.FieldByName('b').AsString;

SQLText1 := 'Select Ak.Auftrnum, Ku.Kurzbez, Ak.Kommname, Ap.positnum, Ap.Menge, Ap.Artikelbeschr, Ap.Bestaetpreis, Ap.rabattsatz ';
SQLText2 := 'from ''Auftragkopf.db'' Ak, ''Ku.DB'' Ku, ''Auftragpos.DB'' Ap, ''Art.DB'' Art where Ak.KUNDNUM = Ku.NUMMER and Ak.AUFTRNUM = Ap.AUFTRNUM and Ap.MODELLNUM = Art.ARTIKELNUM';

with DM_kalo.Q_HUPa_Details do begin
SQL.Clear;
SQL.Add(SQLText1);
SQL.Add(SQLText2);
SQLText := ' And Ak.Auftrnum = ''' + AuftrNum + ''' And Ap.positnum = ''' + h + '.' + a + '''';
SQL.Add(SQLText);
Open;
end;

with DM_kalo.Q_HUPb_Details do begin
SQL.Clear;
SQL.Add(SQLText1);
SQL.Add(SQLText2);
SQLText := ' And Ak.Auftrnum = ''' + AuftrNum + ''' And Ap.positnum = ''' + h + '.' + b + '''';
SQL.Add(SQLText);
Open;
end;
  Mit Zitat antworten Zitat