Vermutlich kannst du gar nichts dafür. Das passiert leider mit der Zeit, oft erst nach vielen Jahren Einsatz der Access DB.
Als erster Rettungsversuch solltest du unter "Datenbanktools" deine Datenbank "komprimieren und reparieren". Dies hilft bei diesem Fehler bedauerlicherweise nicht immer, aber es sollte auch nicht schaden.
Falls der Fehler nach dem o.g. Schritt weiterhin besteht, solltest du einen kompletten Neuaufbau der Datenbank erwägen. Das geht einfacher und schneller, als es klingt. Außerdem ist es harmlos, weil der Neuaufbau in einer neuen, leeren Datenbank gemacht wird, die alte DB also unverändert bleibt.
- Lege unter Datei / Neu / leere Desktopdatenbank eine ganz neue Datenbank an. Deine alte Datenbank wird durch diesen Schritt wie gesagt nicht verändert!
- Importiere sämtliche Objekte aus der alten Datenbank durch die Funktion "Externe Daten" / Accessimport (Icon) / Dateiname eingeben / Import der Objekte (nicht der Verknüpfungen!)
- Bei der Auswahl der Objekte nach einander in jeder Registerkarte (Tabellen, Abfragen, etc.) alle Objekte auswählen ... Nicht einzeln anklicken, sondern rechts den Knopf "Alle auswählen" verwenden.
- Je nach Größe der DB kann der Import eine ganze Weile (mehrere Minuten) brauchen. Nach dem eigentlichen Import gibt es dann auch nochmal den längeren Schritt "VBA Referenzen" bilden.
Vermutlich ist es genau dieser Vorgang, der die Korruption innerhalb deiner NEUEN DB beendet.
Du siehst während dieses Vorgangs am unteren Bildschirmrand, welches Objekt gerade bearbeitet wird. Lass diesen Vorgang auf jeden Fall zu Ende laufen, auch wenn er bei großen Datenbanken mehrere Minuten dauert! - Wenn du bis hierhin gekommen bist, hast du jetzt eine komplett neue Datenbank mit allen alten Objekten und neuen internen Referenzen. Jetzt sollte in dieser neuen Datenbank auch wieder der Entwurfsmodus bei Makros funktionieren.
Ein paar wenige Punkte solltest du jetzt noch überprüfen und in der neuen DB noch händisch aus der alten DB übernehmen.
- Autostart Formular checken
Falls vorhanden, solltest du das Autostartformular der DB wieder vergeben. Solltest du sowas verwenden, musst du es einfach neu setzen, unter: Datei / Optionen / Aktuelle Datenbank / Formular anzeigen - Visual Basic Bibliotheken checken
Falls du Visual Basic Module verwendet hast, solltest du auch die Vollständigkeit und die richtige Reihenfolge deiner Visual Basic Bibliotheken überprüfen. Du findest diese im Visual Basic Editor (Strg g) unter Extras / Verweise... Die Auswahl und Reihenfolge der hier dargestellten Bibliotheken sollte in der neuen Datenbank zur alten Datenbank identisch gemacht werden.
Ich hoffe, alles klappt bei dir so wie beschrieben und übernehme aber natürlich keine Verantwortung, falls nicht 😎
Quelle(n):
- Der Inhalt dieses Text basiert zum Teil auf dieser Webseite: https://www.accessforums.net/showthread.php?t=55938
- Der Screenshot stammt aus Microsoft Access - Access Objekte importieren.