Frage MS Access 2010 komprimiert bei Abschluss. Wie man etwas vorbeugt?


Ich habe eine Access 2010-Anwendung, die in einem ausgelasteten Netzwerk ausgeführt wird (separate Vorder- / Rückseite, dieselbe Version von Access). In letzter Zeit, wenn ich es schließe, läuft das Verdichtungswerkzeug. Es ist so, als ob die Option auf "kompakt beim Schließen" geprüft wurde. Diese Option wird jedoch auch in der Back-End-Datenbank nicht überprüft.

Ich habe diese Anwendung geerbt, und erst seit kurzem wird dieses Verhalten angezeigt. Ich kenne den VBA-Code und es gibt keine kompakte Routine (ich habe gesucht compact in den Modulen sicherstellen). Das kompakte passiert auch wenn ich renne Call SetOption("Auto Compact",False) beim Entladen des Hauptformulars. Das Komprimieren passiert auch, wenn ich VBA deaktiviere, indem ich nicht auf "Inhalt aktivieren" klicke.

Ich habe gehört, dass Sie Access mit Befehlszeilenparametern starten können, um dieses Verhalten zu erhalten, aber das ist hier nicht der Fall.

Ich habe auch Dekompilierung / Reparatur Wartung durchgeführt, aber keine Änderung.

Warum komprimiert die Datenbank beim Schließen?

AKTUALISIEREN

Beems hatte die richtige Antwort, die eine subtile Verfälschung der Datei beheben sollte.

  1. neue leere DB
  2. setze alle Tabellenlinks
  3. Nicht-Tabellenobjekte importieren

Ob Beems stellt diesen hilfreichen Ratschlag als Antwort vor, ich akzeptiere, sonst werde ich die Antwort posten und ins Community Wiki schieben (als eine Art Höflichkeit, in der ich keine Gutschriften sammle, die mir nicht gehören).


5
2017-07-30 21:25


Ursprung


Ist die Option als eingestellt? hier gezeigt? - harrymc
Nein. Wie gesagt, "Kompakt beim Schließen" wird nicht geprüft. - Smandoli
Sie verwenden VBA, also was passiert, wenn: (1) Sie ohne Ihre VBA ausgeführt werden, (2) Sie ein Makro bei Beenden ausführen, das tut Call SetOption("Auto Compact",False). - harrymc
Sie sagten, es läuft in einem Netzwerk ... läuft die Front lokal? Ist die Version des Backends die gleiche wie lokal ausgeführt? - CharlieRB
Ich glaube, dass die "compact on close" -Option pro Datenbank festgelegt wird, und dass die Einstellung in der MDB / ACCDB-Datei selbst gespeichert wird. Mein Verdacht ist, dass die Einstellung beschädigt ist (und da es nicht in der Registrierung oder separaten Konfigurationsdatei gespeichert ist, können wir es nicht einfach auf mein Wissen zurücksetzen). Da die Datei bei jedem Lauf vom Server heruntergeladen wird, ist mein Vorschlag nicht ideal: Exportieren Sie die Tabellen in eine doppelte Datenbank, aktualisieren Sie die VBA, um die neue Datei zu verwenden, und versuchen Sie es erneut. - Beems


Antworten:


Ich glaube, dass die "compact on close" -Option pro Datenbank festgelegt wird, und dass die Einstellung in der MDB / ACCDB-Datei selbst gespeichert wird. Mein Verdacht ist, dass die Einstellung beschädigt ist (und da es nicht in der Registrierung oder separaten Konfigurationsdatei gespeichert ist, können wir es nicht einfach auf mein Wissen zurücksetzen). Da die Datei bei jedem Lauf vom Server heruntergeladen wird, ist mein Vorschlag nicht ideal: Exportieren Sie die Tabellen in eine doppelte Datenbank, aktualisieren Sie die VBA, um die neue Datei zu verwenden, und versuchen Sie es erneut. - Beems 6. Oktober um 15:54 Uhr


0