Temporäre Abfragen
Veröffentlicht am 16.04.2004
Verwenden Sie temporäre QueryDef-Objekte, um die Abarbeitungsgeschwindigkeit von Abfragen zu optimieren
Wenn eine Abfrage innerhalb von VBA als SQL-Text vorliegt, und diese mehrmals hintereinander aufgerufen wird, muss Access bei jedem Aufruf eine Übersetzung der SQL-Anweisungen vornehmen. Dies kostet natürlich Zeit.
Um eine temporäre Abfrage mit Hilfe der CreateQueryDef-Abfrage anzulegen, geben Sie einfach keinen Namen an. Die Abfrage wird dadurch nicht gespeichert, was die Performance weiter erhöht.
Der folgende Programmausschnitt legt eine solche temporäre Abfrage an:
Dim Abfrage As QueryDef
Dim DB As Database
Set DB = CurrentDb
Set Abfrage = DB.CreateQueryDef("", "DELETE * FROM Adressen")
Abfrage.Execute
Wichtig: Wenn Sie diesen Tipp mit Access 2000 oder höher einsetzen möchten, müssen Sie vorher die „Microsoft DAO 3.x Object Library“ einbinden. Öffnen Sie zu diesem Zweck ein beliebiges VBA-Modul und wählen Sie den Menüpunkt Extras/Verweise aus. Anschließend kreuzen Sie den Eintrag „Microsoft DAO 3.x Object Library“ an, wobei das „x“ für eine Versionsnummer zwischen 0 und 6 steht.