Datenbank-Schnellstart: Kompilierten VBA-Code speichern (Access 97, 2000)

30.12.2003

VBA-Module im kompilierten Zustand speichern, um die Performance Ihrer Datenbank zu erhöhen.

Bevor Access eine VBA-Prozedur ausführen kann, muss diese zunächst kompiliert und damit in einem Zwischencode übersetzt werden. Abgesehen von einer Zeitverzögerung merken Sie hiervon bei der Entwicklung einer Datenbank nichts. Bei großen Modulen kann sich der Vorgang jedoch über mehrere Sekunden hinziehen. Unglücklicherweise nimmt Access diese Kompilierung immer zum ungünstigsten Zeitpunkt vor - nämlich beim Öffnen der Datenbank. Wer möchte hierbei schon gerne eine längere Wartezeit in Kauf nehmen?

Sie sollten daher alle VBA-Module im kompilierten Zustand speichern, um die Performance Ihrer Datenbank zu erhöhen.

Dies bewerkstelligen Sie folgendermaßen: Öffnen Sie ein beliebiges Modul Ihrer Datenbank. Die kann entweder ein Standardmodul oder aber ein Objektmodul (also ein Formular- oder Berichtsmodul) sein.

Wählen Sie den Menüpunkt Ausführen / Alle Module kompilieren und direkt danach den Menüpunkt Datei / Alle Module speichern aus.

In der Datenbank wird dadurch zusätzlich zum normalen Programmcode ein Kompilat gespeichert, das Access beim nächsten Öffnen der Datenbank direkt und ohne erneute Kompilierung ausführen kann.

Damit Access die Datenbank im kompilierten Zustand speichern kann, darf sie nicht gleichzeitig von anderen Benutzern (z.B. im Netzwerk) geöffnet sein. Wenn Sie hierbei auf Nummer Sicher gehen wollen, öffnen Sie die Datenbank im exklusiven Modus. Kreuzen Sie dazu im Öffnen-Dialogfenster das Kontrollkästchen Exclusiv an.

Der kompilierte Status der Datenbank geht verloren, sobald Sie irgendeine Änderung an der Struktur der Datenbank vornehmen, die auch den VBA-Code betrifft. Dazu gehören Änderungen an Formularen, Berichten, Steuerelementen und Modulen. Es genügt z.B. schon das Verschieben eines Steuerelements innerhalb eines Formulars. Sobald Sie das geänderte Formular speichern, geht der kompilierte Status verloren. Auch das Löschen eines der oben aufgeführten Objekte hat die gleichen Folgen.

Da Access den Dateinamen der Datenbank zusammen mit dem VBA-Code in der Datenbank speichert, bewirkt auch eine Änderung des Dateinamens eine Dekompilierung der kompletten Datenbank. Besonders betroffen sind Sie hiervon, wenn Sie beim Komprimieren der Datenbank aus Sicherheitsgründen einen anderen Dateinamen angeben.

Um auch hierbei den kompilierten Zustand beizubehalten, gibt es folgende Alternativen:

Komprimieren Sie die Datenbank über die aktuelle Datenbank. Um eventuellen Datenverlust vorzubeugen, sollten Sie vorher auf jeden Fall eine Sicherheitskopie der Datenbank anlegen.

Komprimieren Sie die Datenbank unter dem gleichen Namen in ein neues Verzeichnis. Nur der Name der Datenbank, nicht jedoch das Verzeichnis ist bei der Aufrechterhaltung des kompilierten Zustands relevant.

Komprimieren Sie die Datenbank unter einem neuen Namen und geben Sie ihr nach dem Vorgang wieder den ursprünglichen Namen. Das Umbenennen können Sie beispielsweise vom Windows-Explorer aus vornehmen.

Dienstleistungen

Als starker Partner an Ihrer Seite unterstützen wir Sie in folgenden Breichen:

Access-Programmierung

Benötigen Sie Unterstützung bei der Programmierung von Access-Anwendungen? Wir bieten die gesamte Bandbreite von der Access-Programmierung auf Stundenbasis bis zur Durchführung eines Software-Projektes als Auftragsarbeit an. Kontaktieren Sie uns für ein kostenloses Erstgespräch.

Software-Beratung

Haben Sie ein Software-Projekt und Sie wissen nicht, ob Access die richtige Plattform ist? Wir haben über 20 Jahre Erfahrung beim Erstellen von Windows-, Web und mobilen Anwendungen. Kontaktieren Sie uns für eine kostenlose Erstberatung.