Custom Settings V2 für MS Access – mit IntelliSense und User-Settings

Einfach. Schnell. Erweiterbar. Intuitiv. Die neue Version (V2) der dynamischen Custom Settings glänzt mit voller IntelliSense-Unterstützung, Enum-basierter Bedienung und flexibler Erweiterbarkeit – für Frontend-, Backend- und individuelle User-Settings.

Ich präsentiere die neue Version (V2) der dynamischen Custom Settings – eine smarte Lösung mit voller IntelliSense-Unterstützung, intuitiver Bedienung und flexibler Erweiterbarkeit, ganz ohne zusätzlichen Code-Aufwand.

Was ist neu?

  • IntelliSense in allen Settings-Aufrufen
  • Enum-basierte Bedienung für Klarheit und Tippfehlerfreiheit
  • Eigene Settings erstellen – ohne eine einzige Codezeile
  • Read, Create, Change, Delete – alles integriert
  • Frontend-, Backend- und User-Settings direkt unterstützt
  • Neue Tabellen? Mit minimalem Aufwand integrierbar

Individuelle User-Einstellungen: Über die Tabelle tblUser speichert jeder Nutzer eigene Werte – z. B. zuletzt geöffnete Ansicht, Benutzerfarbe oder Standard-Suchfilter. Beim Aufruf einfach die UserID mitgeben, fertig.

Wie funktioniert’s?

Die Grundlage bilden drei Tabellen und drei Module.

Die Tabellen:

  • tblFrontend – Einstellungen für das Frontend (client-spezifisch)
  • tblBackend – globale Einstellungen (für alle Nutzer)
  • tblUser – individuelle User-Settings

Die Module:

  • modHelper_Settings – alle Funktionen: settingCreate, settingRead, settingChange, settingDelete
  • modHelper_Enumeration – verwaltet die Enums (für IntelliSense), inkl. dynamischem Hinzufügen/Umbenennen/Löschen zur Laufzeit
  • modHelper_SQL – liefert mit cSQL() sichere, typkonforme SQL-Strings

Speicherung, Typen und IntelliSense

Alle Einstellungen werden intern als String gespeichert. Beim Abruf mit settingRead erfolgt automatisch die Typkonvertierung in den ursprünglich definierten Datentyp – die Typinformation steht in der Spalte SettingType.

Dank der Enums (EnumSettingName, EnumTable, EnumDataType) steht für jeden Aufruf IntelliSense bereit. Du gibst nur den Enum-Wert an – der Rest wird automatisch korrekt zugeordnet, ohne Nachschlagen und ohne Tippfehler.

Beispiele

Erstellen (die Bezeichnung wird als String übergeben, settingCreate legt daraus den Enum-Eintrag an):

settingCreate "Theme", dtString, "Dark", tblFrontend
settingCreate "Items", dtInteger, 22, tblFrontend

Ändern, lesen, löschen:

settingChange Theme, dtString, "Light", tblFrontend
settingChange Items, dtLong, 444444, tblFrontend

Debug.Print settingRead(Theme, tblFrontend)
Debug.Print settingRead(Items, tblFrontend)

settingDelete Theme, tblFrontend
settingDelete Items, tblFrontend

User-Settings (mit UserID als letztem Parameter):

settingCreate "Active", dtBoolean, True, tblUser, 1
settingChange Active, dtBoolean, False, tblUser, 1
Debug.Print settingRead(Active, tblUser, 1)
settingDelete Active, tblUser, 1

Neue Tabellen hinzufügen

  1. Neue Tabelle anlegen (einfach eine vorhandene kopieren), z. B. tblInvoiceSettings
  2. Enum-Eintrag in enumTable hinzufügen
  3. Funktion GetTableName() anpassen

Alle Funktionen (Create, Read, Change, Delete) laufen ohne weiteren Code – du erweiterst modular, ganz ohne Eingriff in den Kerncode.

Vorteile und Grenzen

  • Blitzschnell einsatzbereit, kein hartcodiertes SQL mehr
  • IntelliSense verhindert Fehler bei Namen und Typen
  • Settings je nach Anwendungsbereich (Frontend, Backend, User)

Achtung: Wird ein Enum gelöscht, aber im Code weiterhin verwendet (z. B. in settingRead, settingChange, settingDelete), führt das beim Kompilieren zu einem Fehler. Das ist zugleich ein guter Sicherheitsmechanismus: veraltete Settings-Aufrufe werden sofort sichtbar und korrigierbar.

Fazit

Diese neue Version der Custom Settings mit IntelliSense ist ein großer Schritt Richtung professioneller, wartbarer und moderner Access-Entwicklung: keine kryptischen SQLs, keine Fehler durch Namen. Einmal integriert – nie wieder darauf verzichten. Die ausführliche Beschreibung findest du wie gewohnt gut dokumentiert direkt im Code.

Download

Dynamische Custom Settings V2 für MS Access – Enum-basiert mit IntelliSense, für Frontend, Backend und individuelle User-Settings, ohne hartcodiertes SQL.

Newsletter

Newsletter