… aber heute wird’s mir unheimlich. Eine .mdb (Access 2000) schrumpft plötzlich auf die Hälfte, ich stelle aber erstmal keinen Verlust an Funktionalität fest. Auch das Frontend (.mde) lässt sich daraus erzeugen. Soweit ich sehe, ist auch noch alles an Formularen, Reports, Modulen usw. da. An den Daten liegt es nicht, die sind eh ins Backend ausgelagert.
Meine Aktion bis dahin: Kopieren eines Reports, frisieren desselben, Aufruf des Reports in ein Modul einbauen, das war’s auch schon.
Vor längerer Zeit ist mir sowas schon mal begegnet, Symptom damals: Beim Bearbeiten der Module verabschiedete sich Access („MSAccess muss beendet werden …“).
Sicherung der vorherigen Datenbank ist natürlich vorhanden - beim versuchten Anlegen der nächsten Sicherung ist mir der Größenunterschied aufgefallen. Dennoch wüsste ich gerne, was da passiert. Wer weiß was?
da ist ziemlich sicher, dass die neue Datei komprimiert/repariert wurde und dadurch überflüssige Objekte (Leichen, als gelöscht markierte Formulare, Berichte, Abfragen, Code) aus der DB-Datei entfernt wurden.
Testen könnte man das so:
Kopie der Backup-Datei erstellen und die Dateigröße merken.
Diese Kopie starten und (nur) komprimieren/reparieren durchführen.
Dateigröße prüfen und mit der vorhergehenden vergleichen.
Wenn sich ein deutlicher Unterschied zeigt, trifft o. g. Vermutung zu.
seit Urzeiten ist bei mir „automatisches Komprimieren beim Schließen“ eingeschaltet. Ich habe dennoch die Sicherungskopie nochmal komprimiert, es bleibt dabei: Irgendwas ist weg, auch die .mdes unterscheiden sich erheblich.
.mdb .mde
Neue Version 2 Mb 1.9 Mb
Sicherung 4 Mb 2.4 Mb
letzte ferndiagnostische Möglichkeit liegt darin, beide MDB-Dateien in jeweils eine neu leere DB zu importieren. Wenn der Unterschied dann immer noch erwähnenswert ist, wurde tatsächlich ein Teil gelöscht. Das können ja auch zwar funktionierende, aber nicht weiter verwendete Objekte oder Prozeduren gewesen sein (darin enthaltene Bilder z. B. machen ein einzelnes Formular zum „Monster“. )
Moin,
Aber bei zunehmender Nutzung der DB erzeugt Access doch temporäre, verborgene Objekte zur Aufgabendurchführung, oder auch gelöschte Objekte bleiben erstmals temporär. Also würde mich wundern wenn du seit dem davon nichts mehr mitbekommen hast?
Access ist eine Datenbank, kein Voodoo. Was den Arbeitsspeicher, nicht aber die Datenbank aufblasen kann, sind fehlende „SET object = NULL“-Anweisungen.