Access-Datenbanken komprimieren

Ich habe in Access eine Anwendung geschrieben und m÷chte meinen Anwendern am Front-End die M÷glichkeit geben, mit Hilfe eines Menⁿbefehls die Datenbank zu komprimieren. In der Access-Umgebung ist dies problemlos m÷glich, doch wie kann ich das in der Runtime-Umgebung realisieren?

Hinter der Menⁿstruktur von Access verbergen sich Methodenaufrufe. Wenn Sie den Menⁿbefehl Datenbank komprimieren ausfⁿhren, schickt Access eine Nachricht an die Database-Engine (den Datenbankkern). Diese erledigt die Aufgabe dann entsprechend ihrer Programmierung. Aufgrund dieser Struktur kann auch das Front-End solche Befehle problemlos steuern. Mit der folgenden Befehlszeile veranlassen Sie die Database Engine, die Datenbank zu komprimieren:

DBEngine.CompactDatabase  äC:\MyBase.MDBô  äC:\MyNewBase. MDBô,  äô, dbEncrypt╢
Die Engine komprimiert daraufhin die Datenbank MyBase und speichert das verschlⁿsselte Ergebnis als MyNewBase. Die Methode CompactDatabase unterstⁿtzt auch Pa▀w÷rter und unterschiedliche Versionen der Database-Engine. Anschlie▀end k÷nnen Sie zum Beispiel mit den folgenden Anweisungen noch die alte Datenbank l÷schen und der komprimierten wieder den alten Namen geben:
Kill  äC:\MyBase.MDBô╢
Name  äC:\MyNewBase.MDBô As  äC:\MyBase.MDBô ╢
Beachten Sie jedoch, da▀ eine Komprimierung den exklusiven Zugriff auf die gesamte Datenbank verlangt. Im Rahmen einer Mehrbenutzerumgebung kann es daher notwendig sein, bestehende Verbindungen anderer Benutzer zu trennen. Das automatische Trennen ist jedoch aus Grⁿnden der DatenintegritΣt eine heikle Angelegenheit und bedarf einer Menge Geschick und Koordination. Um unn÷tig hΣufige Komprimierungen zu vermeiden, sollten Sie darⁿber nachdenken, diese FunktionalitΣt lediglich in einem eigenstΣndigen Administrations-Werkzeug oder der Back-End-Logik unterzubringen.