DB automatisch komprimieren lassen, wie?

Hallo,

hab ein Access-Datenbank-Projekt und möchte die DB regelmäßig komprimiert haben, da sonst ihre Größe ständig wächst.

Am liebsten möchte ich dies per VBA-Code erledigen, z.B. beim Start oder beim Schließen der DB oder eines Formulares. Wenn es noch eine andere Möglichkeit gibt dann her damit.

Vielen Dank für eure Hilfe.

Andreas B.

Schau dir mal in der Hilfe den Befehl CompactDatabase an, dort wird eigentlich alles erklärt. Du könntest das dann so lösen, du speicherst in einen neuen Datenbank ein Formular, in dem du einen Button Datenbank komprieren anlegst, dann erzeugt der dahinterliegende Befehl CompactDatabase eine komprimierte Kopie deiner Datenbank (die während des Ausführens des Befehls geschlossen sein muß, deswegen das neue Formular in einer anderen Datenbank) und dann mußt du nur noch die Datenbank umbenennen. Da gibt es sicherlich Befehle für, habe ich im Moment aber nicht im Kopf.

Hoffe es hilft dir weiter

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Schau dir mal in der Hilfe den Befehl CompactDatabase an, dort
wird eigentlich alles erklärt. Du könntest das dann so lösen,
du speicherst in einen neuen Datenbank ein Formular, in dem du
einen Button Datenbank komprieren anlegst, dann erzeugt der
dahinterliegende Befehl CompactDatabase eine komprimierte
Kopie deiner Datenbank (die während des Ausführens des Befehls
geschlossen sein muß, deswegen das neue Formular in einer
anderen Datenbank) und dann mußt du nur noch die Datenbank
umbenennen. Da gibt es sicherlich Befehle für, habe ich im
Moment aber nicht im Kopf.

Hoffe es hilft dir weiter

Peter

Hallo,

danke für deinen Vorschlag, aber das ist leider nicht das was ich brauche. Eine zusätzliche Datenbank nur zum komprimieren ist nicht so toll.

Hab ein Add-In für Access gefunden, es heißt Compactor. Mit dem kann ich die aktuelle Datenbank komprimieren lassen, indem es einfach eine neue Instanz von Access aufmacht, komprimiert und die aktuelle wieder herstellt. Das Add-In kann ich auch per Code aufrufen.

Nun eine Frage, gibt es irgendein Ereignis, wie z.B. OnDBClose, welches beim Schließen der DB in Aktion tritt?? Dann könnte ich vor dem Schließen noch schnell komprimieren und fertig wär das ganze dann.

AB

HI,
mit einer Batchdatei geht das super leicht:
„c:\programme\microsoft office\office\msaccess.exe“ c:\eintritt.mdb /compact
fertig ist der Lack :smile:
oder „Accesspfad“ Datenbankpfad /compact
mit dem Statement repair geht es auch :smile:
Coole Sache weil das kannst Du auch als event planen, ich mache es immer Nachts (das mit der Datenbank meine ich)

Hallo Andreas,

wo bekommt man denn dieses Add-In her. Ich hab auch hin und wider das gleiche Problem und was Du mit diesem Compactor beschreibst hört sich elegant an.
Zu dem CloseDatabase Event glug ich, daß es soetwas nicht gibt.
Eine andere Möglichkeit wäre, den Exit aus Deiner DB nur über einen Button zu ermöglichen und dann erst die Komprimierung aufzurufen.

Klaus