In einem früheren Beitrag namens “Access-Optionen gestern und heute” haben wir uns einmal angesehen, welche Access-Optionen es gibt und wie Sie diese per VBA einstellen können – unter anderem mit den Methoden SetOption oder über die Eigenschaften des Database-Objekts der aktuell geöffneten Datenbank. Damals ging es noch um den Optionen-Dialog von Access 2003, der sich mittlerweile stark verändert hat. Um eine aktualisierte Version dieses Beitrags soll es in diesem Beitrag gehen. Grundlage ist dabei die Access 365-Version von Mitte 2021.
Video passend zu diesem Artikel:
Wo findet man die Optionen per VBA?
Bevor wir in die Referenz der Optionen und ihrer VBA-Pendants einsteigen, schauen wir uns an, wie Sie überhaupt Optionen per VBA lesen und schreiben können. Dazu brauchen wir zunächst eine wichtige Unterscheidung: Es gibt Optionen für die Access-Anwendung und für die jeweils geöffnete Datenbank.
Optionen in der Registry
Die Optionen der Access-Anwendung werden in der Registry im Bereich HKEY_CURRENT_USER gespeichert und wirken sich somit nach der Änderung ausschließlich auf die vom aktuellen Benutzer geöffneten Access-Instanzen aus. Diese können wir mit den beiden VBA-Befehlen GetOption und SetOption lesen und schreiben.
Genau genommen finden Sie die Optionen in der Registry unter HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Settings. Die meisten dieser Optionen ändern Sie in der Benutzeroberfläche über die verschiedenen Elemente des Dialogs Access-Optionen, ein paar auch über den Dialog Navigationsoptionen.
Optionen in den Eigenschaften des Database-Objekts
Die Optionen der Access-Datenbank wiederum beziehen sich nur auf die aktuell geöffnete Access-Datenbank. Die meisten davon befinden sich im Dialog Access-Optionen im Bereich Aktuelle Datenbank. Tatsächlich werden die Werte für diese Optionen in der Properties-Auflistung des Database-Objekts der aktuellen Datenbank gespeichert. Sie können diese mit folgender Anweisung einstellen:
CurrentDb.Properties("<Eigenschaftsname>") = <Eigenschaftswert>
Eine nicht vorhandene Eigenschaft müssen Sie zuvor noch anlegen. Mit folgender Anweisung fragen Sie den Wert im Direktbereich von Access ab:
Debug.Print CurrentDb.Properties("<Eigenschaftsname>")
Optionen in weiteren Bereichen der Registry
Einige Optionen, etwa die für alle Office-Anwendungen gültigen Optionen, befinden sich in anderen Bereichen der Registry. Für diese gibt es keine einfache VBA-Anweisung wie SetOption oder GetOption. Um diese zu lesen oder zu schreiben, benötigen Sie spezielle Befehle, die wir in einem weiteren Beitrag namens Registry per VBA, 32- und 64-Bit (www.access-im-unternehmen.de/1323) untersuchen.
Access-Optionen und ihre VBA-Pendants
Damit steigen wir gleich in die Optionen ein, die Sie über die Benutzeroberfläche anpassen können, und schauen uns an, wie Sie diese unter VBA einstellen können.
Wir haben die Eigenschaften jeweils in den Screenshots der Dialoge nummeriert. Sie finden zu den Nummern die deutsche Bezeichnung (in Klammern), die englische Bezeichnung, den Speicherort der Eigenschaft (Registry/Database oder im Falle von anderen Speicherorten in der Registry den entsprechenden Zweig) und die möglichen Werte.
Optionen des Bereichs Allgemein
Gleich im ersten Bereich des Optionen-Dialogs von Access finden wir einige Optionen, die sich tatsächlich nicht von Access aus per VBA steuern lassen (siehe Bild 1).
Bild 1: Optionen des Bereichs Allgemein
- 1 (Live-Vorschau aktivieren): LivePreview, Registry, 0: Nein, 1: Ja, wird bei erster Änderung angelegt
- 2 (QuickInfo-Format): nicht gefunden
- 3 (Tastenkombinationen in QuickInfos anzeigen): nicht gefunden
- 4 (Hardwaregrafikbeschleunigung deaktivieren): nicht gefunden
- 5 (Standarddateiformat für leere Datenbank): Default File Format, Registry, Access 2000: 9, Access 2002 – 2003: 10, Access 2007 – 2019, Access 365: 12
- 6 (Standarddatenbankordner): Default Database Directory, Registry, Verzeichnis im String-Format
- 7 (Sortierreihenfolge bei neuer Datenbank): New Database Sort Order, Registry, verschiedene Werte, zum Beispiel 2052 (Allgemein – Vorversion) oder 1033 (Deutsches Telefonbuch)
- 8 (Benutzername): Office-Einstellung
- 9 (Initialen): Office-Einstellung
- 10 (Immer diese Werte verwenden, unabhängig von der Anmeldung bei Office): Office-Einstellung
- 11 (Office-Hintergrund): Office-Einstellung
- 12 (Office-Design): Office-Einstellung
Optionen des Bereichs Aktuelle Datenbank
Die Elemente im Bereich Aktuelle Datenbank des Optionen-Dialogs von Access sehen Sie in Bild 2.
Bild 2: Optionen des Bereichs Aktuelle Datenbank
Hier sind die Schrauben, an denen Sie mit VBA drehen können:
- 1 (Anwendungstitel): AppTitle, Database, Anwendungstitel im String-Format, wird bei erster Änderung erstellt
- 2 (Anwendungssymbol): AppIcon, Database, Pfad zum Icon im String-Format, wird bei erster Änderung erstellt
- 3 (Als Formular- und Berichtssymbol verwenden): UseAppIconForFrmRpt, Database, Boolean, Neustart erforderlich
- 4 (Formular anzeigen): StartupForm, Database, Formularname im String-Format, wird bei erster Änderung erstellt, Neustart erforderlich
- 5 (Webanzeigeformular): im Desktop-Modus nicht verfügbar
- 6 (Statusleiste anzeigen): StartUpShowStatusBar, Database, Boolean, Neustart erforderlich
- 7 (Dokumentfensteroptionen): UseMdiMode, Database, 0: Dokumente im Registerkartenformat, 1: Überlappende Fenster, Neustart erforderlich
- 8 (Dokumentregisterkarten anzeigen): ShowDocumentTabs, Database, Boolean-Format, Neustart erforderlich
- 9 (Access-Spezialtasten verwenden): AllowSpecialKeys, Database, Boolean, Neustart erforderlich
- 10 (Beim Schließen komprimieren): Auto Compact, Database, 1: Ja, 0: Nein, Neustart erforderlich
- 11 (Beim Speichern personenbezogene Daten aus Dateieigenschaften entfernen): Remove Personal Information, Database, 1: Ja, 0: Nein, wird bei erster Änderung erstellt, Neustart erforderlich
- 12 (Steuerelemente mit Windows-Design auf Formularen verwenden): Themed Form Controls, Database, 1: Ja, 2: Nein
- 13 (Layoutansicht aktivieren): DesignWithData, Database, Boolean
- 14 (Entwurfsänderungen für Tabellen in der Datenblattansicht aktivieren): AllowDatasheetSchema, Database, Boolean
- 15 (Auf abgeschnittene Zahlenfelder prüfen): CheckTruncatedNumFields, Database, Boolean
- 16 (Bildeigenschaften-Speicherformat): Picture Property Storage Format, Database, 0: Quellbildformat beibehalten (kleinere Dateigröße), 1: Alle Bilddaten in Bitmaps konvertieren (mit Access 2003 und früher kompatibel)
- 17 (Navigationsbereich anzeigen): StartUpShowDBWindow, Database, Boolean
- 18 (Name des Menübands): CustomRibbonID, Database, Name des Ribbons als String, wird bei erster Änderung erstellt
- 19 (Kontextmenüleiste): StartupShortcutMenuBar, Database, Name der Kontextmenüleiste, wird bei erster Änderung erstellt
- 20 (Vollständige Menüs zulassen): AllowFullMenus, Database, Boolean-Wert
- 21 (Standardkontextmenüs zulassen): AllowShortcutMenus, Database, Boolean-Wert
- 22 (Informationen zu Objektnamenautokorrektur nachverfolgen): Track Name AutoCorrect Info, Database, 0: Nein, 1: Ja, wird bei erster Änderung erstellt
- 23 (Objektnamenautokorrektur ausführen): Perform Name AutoCorrect, Database, 0: Nein, 1: Ja
- 24 (Änderungen für Objektnamenautokorrektur protokollieren): Log Name AutoCorrect Changes, Database, 0: Nein, 1: Ja, wird bei erster Änderung erstellt
- 25 (Liste anzeigen von Werten in … Lokalen indizierten Feldern): Show Values in Indexed, Database, 0: Nein, 1: Ja
- 26 (Liste anzeigen von Werten in … Lokalen nicht indizierten Feldern): Show Values in Non-Indexed, Database, 0: Nein, 1: Ja
- 27 (Liste anzeigen von Werten in … ODBC-Feldern): Show Values in Remote, Database , 0: Nein, 1: Ja
- 28 (Keine Listen anzeigen, wenn mehr als diese Anzahl von Zeilen gelesen wird): Show Values Limit, Database, Zahl
- 29 (Cacheformat verwenden, das mit Microsoft Access 2010 und höher kompatibel ist): Use Microsoft 2007 compatible cache, Database, 0: Nein, 1: Ja
- 30 (Cache beim Schließen leeren): Clear Cache on Close, Database, 0: Nein, 1: Ja
- 31 (Nie zwischenspeichern): Never Cache, Database, 0: Nein, 1: Ja
- 32 (Datentyp “Große Ganzzahl” (BigInt) für verknüpfte/importierte Tabellen unterstützen): Use BigInt for linking and importing data, Database,, 0: Nein, 1: Ja
Optionen des Dialogs Navigations-optionen
Diesen Dialog öffnen Sie entweder über die Schaltfläche Navigationsoptionen… im Bereich Aktuelle Datenbank der Access-Optionen oder über das Kontextmenü des Titels des Navigationsbereichs (siehe Bild 3).
Bild 3: Optionen des Bereichs Navigationsoptionen
Hier finden Sie die folgenden Optionen:
- 1 (Ausblendete Objekte anzeigen): Show Hidden Objects: Registry, 0: Nein, 1: Ja
- 2 (Systemobjekte anzeigen): Show System Objects: Registry, 0: Nein, 1: Ja
- 3 (Suchleiste anzeigen): Show Navigation Pane Search Bar, Database, Boolean
- 4 (Objekte öffnen mit): Database Explorer Click Behavior, Registry, 0: Nein, 1: Ja, wird bei erster Änderung erstellt
Optionen des Bereichs Datenblatt
Der Bereich Datenblatt hält die Optionen aus Bild 4 bereit. Diese bieten die folgenden Möglichkeiten zur Anpassung per VBA:
Bild 4: Optionen des Bereichs Datenblatt
- 1 (Standardgitternetzlinien – Horizontal): Default Gridlines Horizontal, Registry, 0: Nein, 1: Ja, wird bei erster Änderung erstellt
- 2 (Standardgitternetzlinien – Vertikal): Default Gridlines Vertical, Registry, 0: Nein, 1: Ja, wird bei erster Änderung erstellt
- 3 (Standardzelleffekt): Default Cell Effect, Registry, 0: Flach, 1: Erhöht, 2: Vertieft, wird bei erster Änderung erstellt
- 4 (Standardspaltenbreite): Default Column Width, Registry, Breite in Twips, wird bei erster Änderung erstellt
- 5 (Schriftgrad): Default Font Size, Registry, Zahl, wird bei erster Änderung erstellt
- 6 (Schriftstärke): Default Font Weight, Registry, 0: Extra dünn, 1: Sehr Dünn, 2: Dünn, 3: Normal, 4: Mittel, 5: Halb Fett, 6: Fett, 7: Sehr Fett, 8: Extra Fett wird bei erster Verwendung erstellt
- 7 (Unterstrichen): Default Font Underline, Registry, 0: Nein, 1: Ja, wird bei erster Verwendung erstellt
- 8 (Kursiv): Default Font Italic, Registry, 0: Nein, 1: Ja, wird bei erster Änderung erstellt