PDA

Vollständige Version anzeigen : OpenForm mit Bedingung beschleunigen


<immelmann>
07.01.2002, 16:34
Hallo,
in einem Formular (Artikelverwaltung) habe ich eine Liste, die Artikel enthält. Bei Klicken wird das Artikelformular mit dem selektierten Artikel geöffnet.

DoCmd.OpenForm "Artikel", , , "[ARTIKELSTAMMVERWALTUNG].[ARTIKELSTAMM_ID] = " & artNr

artNr ist die Nummer des selektierten Artikel aus der Liste (artikelID).
In der Bedingungsanweisung ist die entsprechende Tabelle aufgeführt, in der nun der gesuchte Artikel zu finden ist.

Klappt ja alles.
NUR bei >30000 Artikeln dauert das eine Weile.

Gibt es eine Möglichkeit, die Suche in der Tabelle zu beschleunigen?

Hatte schon daran gedacht, vorher ein Recordset (mit SELECT und WHERE) zu erstellen und das Ergebnis zu verwenden. Die Bedingung ist lt. OH eine Zeichenfolge als WHERE-Klausel ohne WHERE.

Danke für Anregungen.
Gruß Torsten

Sascha Trowitzsch
07.01.2002, 16:50
Es ist egal, ob du eine Abfrage als Grundlage nimmst, oder die Abfrage per Bedingung ausgeführt wird.
Wichtig ist nur, dass Artikelstamm_ID ein indiziertes Feld ist und möglichst artNr vom genau gleichen Datentyp, damit keine Konversion nötig ist. Dann dürften 30000 DS eigentlich kein großes Problem sein.

Ciao, Sascha

<immelmann>
08.01.2002, 08:30
Danke für den schnellen Tip.
Artikelstamm_ID ist ein AutoWert (ergo indiziert) und artNr habe ich demzufolge auf Long gesetzt. Hat aber nichts gebracht.
Die mdb ist 18MB groß (komprimiert!), dürfte aber nicht die Bremse sein ?!

Gruß Torsten