Performance-Tipps zu VBA (Access 97, 2000)
Veröffentlicht am 30.12.2003
Mit einigen kleinen Tipps können Sie die Abarbeitungsgeschwindigkeit von VBA erheblich beschleunigen.
Sie müssen lediglich folgende Regeln beachten:
Vermeiden Sie den Einsatz von Variablen des Typs Variant. Variant-Variablen belegen viel Speicherplatz (mindestens 16 Byte) und haben bei mathematischen Berechnungen einen deutlichen Geschwindigkeitsnachteil.
Vermeiden Sie bei zeitkritischen Prozeduren den Aufruf anderer Prozeduren. Durch den Aufruf und die eventuelle Übergabe von Parametern entsteht ein erheblicher Verwaltungsaufwand, der natürlich Zeit kostet.
Wenn Sie mehrfach auf Eigenschaften und Methoden von Objekten (z.B. Formulare oder Steuerelemente) zugreifen, sollten Sie das betreffende Objekt in einer Objektvariablen zwischenspeichern.
Beim Einsatz der IIF-Funktion (Immediate If, deutsch Wenn-Funktion) werden immer sowohl der zweite als auch der dritte Ausdruck ausgewertet, obwohl dies nur bei einem der beiden Ausdrücke notwendig wäre. Besonders negativ wirkt sich dies aus, wenn in beiden Ausdrücken zeitaufwendige Funktionen ausgeführt werden. In diesem Fall sollten Sie lieber das normale If…Then…Else-Kontrukt einsetzen, bei dem in Abhängigkeit von der If-Bedingung immer nur ein einzelner Anweisungsblock ausgeführt wird.
Verweisen Sie auf Objekte, die von OLE-Servern stammen, stets zusammen mit dem Namen des Objektservers.
Access braucht so nicht alle Objektbibliotheken nach dem Bezeichner Database zu durchsuchen, sondern kann direkt auf den richtigen Objektdatentyp zugreifen.