Benutzereinstellungen verwalten

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Christoph Spielmann, Düsseldorf

Die Verwaltung von Benutzereinstellungen ist – insbesondere beim Einsatz von Access – eine Aufgabe mit vielen Lösungsmöglichkeiten. Dieser Artikel zeigt Ihnen, wie Sie solche Benutzereinstellungen (gleich Optionen) in INI-Dateien, der Windows-Registry oder in Access-Tabellen speichern.

Der naheliegendste Weg zum Speichern von Optionen ist sicherlich der Einsatz einer Access-Tabelle. Hierbei werden die einzelnen Optionen als normale Daten betrachtet und entsprechend in der Tabelle gespeichert.

Ein großer Nachteil dieser Lösung ist, dass die Optionen damit fest an Access gebunden sind.

Das Auslesen der Optionen durch andere Programme ist nur durch einen Datenbankzugriff möglich, was unter Umständen problematisch sein kann. Ein weiterer Nachteil besteht darin, dass bei Updates zusammen mit der Datenbank immer auch die Benutzereinstellungen mit ausgetauscht werden. Der Benutzer ist in diesem Fall gezwungen, alle Optionen erneut an seine Anforderungen anzupassen.

Eine Lösung würde in diesem Fall die Auslagerung der Optionen-Tabelle in eine getrennte MDB-Datei bieten, was jedoch insbesondere bei Einzelplatzanwendungen unnötige Probleme mit sich bringt. Schließlich muss die passende Optionen-Tabelle gefunden und ggf. noch in die Hauptanwendung eingebunden werden.

Vorteile bietet die Optionen-Verwaltung per Tabelle beim Einsatz von Anwendungen im Netzwerk. Hier können alle Einstellungen zentral abgelegt werden. Sollte sich ein Benutzer an einem anderen Arbeitsplatz anmelden, erhält er automatisch seine personalisierten Optionen.

Eine weitere Möglichkeit zum Speichern von Optionen bietet die Windows-Registry. Hierbei handelt es sich um eine hierarchische Datenstruktur, die von Microsoft speziell zur Ablage von Einstellungen und Optionen vorgesehen wurde. Falls Sie unter Windows NT, Windows 2000 oder Windows XP arbeiten, verwaltet Windows Ihre Optionen auch benutzerabhängig. So kann auch hier jeder Benutzer seine eigenen Einstellungen vornehmen.

Zudem schützt das Betriebsystem die Benutzereinstellungen vor den Blicken anderer Benutzer. Dies ist beispielsweise dann von Vorteil, wenn Sie bestimmte Passwörter als Option speichern möchten.

Der Nachteil beim Einsatz der Registry ist, dass der Zugriff nur über API-Funktionsaufrufe erfolgen kann und die Begutachtung nur mit Hilfe des Programms RegEdit.exe möglich ist.

Hinweis

Zum Start von RegEdit wählen Sie den Menüpunkt Start/Ausführen aus, geben den Befehl RegEdit ein und bestätigen mit OK.

Außerdem ist es umständlich, Optionen von einem PC auf den anderen zu übertragen. Hier müssen Sie mit Hilfe von RegEdit die betreffenden Optionen exportieren und auf dem Zielrechner wieder einlesen.

Die dritte hier vorgestellte Möglichkeit besteht im Einsatz von INI-Dateien. Hierbei handelt es sich um die älteste der drei Techniken. Sie stammt noch aus Windows 3.x-Zeiten.

Eine INI-Datei ist eine einfache Text-Datei, in der Optionen in der Form

<Optionsname>=<Optionswert>

abgelegt sind. Verschiedene Optionen können hierbei in Sektionen gruppiert werden, indem den einzelnen Zeilen eine überschrift in der Form

[<Sektionsname>]

vorangestellt wird.

INI-Dateien haben den großen Vorteil, dass sie im Applikationsverzeichnis angelegt sind und damit einen direkten Bezug zur Anwendung haben. Wenn Sie beispielsweise Ihr Anwendungsverzeichnis in Form eines Backups sichern, haben Sie auch gleich Ihre Optionen mit gesichert.

Darüber hinaus lassen sich INI-Dateien auch sehr leicht von einem PC zum nächsten transportieren und mit einem Text-Editor öffnen und bearbeiten.

Der große Nachteil von INI-Datei besteht in der auf zwei Ebenen beschränkten Struktur. Eine Lösung bietet hier der Einsatz von XML-Dateien. Tatsächlich ist es so, dass Microsoft bei seiner .NET-Technologie auf XML-Dateien zur Speicherung von Konfigurationen setzt und die INI-Datei damit einen zweiten Frühling erlebt.

In den folgenden Abschnitten werden Tools vorgestellt, mit deren Hilfe Sie auf einfache und vereinheitlichte Weise Optionen in den drei vorgestellten Varianten speichern können. Auf den Einsatz von XML wurde hierbei verzichtet, da Access von Haus aus XML gar nicht oder nur sehr rudimentär unterstützt (je nach eingesetzter Access-Version).

Die vorgestellten Klassenmodule finden Sie in den Datenbanken Optionen97.mdb bzw. Optionen2000.mdb auf der aktuellen Heft-CD im Ordner mdb bzw. Musterlösungen.

Das KlassenmodulclsOptionen_Tabelle

Das Klassenmodul clsOptionen_Tabelle enthält die notwendigen Funktionen zur Speicherung von Optionen in einer Access-Tabelle. Voraussetzung hierfür ist, dass die Access-Datenbank die beiden Tabellen tblOptionen und tblOptionswerte enthält. Die beiden Tabellen haben die folgende Struktur:

Feld

Beschreibung

OptionID

Primärschlüsselfeld

Optionsname

Name der Option

Tab. 1: Felder und Beschreibung der Tabelle tblOptionen

Feld

Beschreibung

OptionswertID

Primärschlüsselfeld

Optionswert

Der Wert der Option

OptionID

Fremdschlüssel zur Tabelle tblOptionen

BenutzerID

Fremdschlüssel zur Tabelle tblBenutzer

Tab. 2: Felder und Beschreibung der Tabelle tblOptionswerte

Beide Tabellen sind über die Felder OptionID miteinander verknüpft. Durch diese Struktur lassen sich in Verbindung mit der BenutzerID für jeden Benutzer individuelle Optionen speichern.

Bild 1: Das Datenmodell zur Verwaltung von Optionen

Beispielsweise kann die Option 1 namens StartfensterAnzeigen beim Benutzer 1 den Wert True und beim Benutzer 2 den Wert False haben. In der Tabelle tblOptionswerte würden sich in diesem Fall zwei Datensätze befinden.

Public Sub OptionSpeichern(Optionsname As String, Optionswert As String, _    Optional BenutzerID As Integer)
    Dim OptionID As Integer
    If BenutzerID = 0 Then BenutzerID = 1 ''Globaler Benutzer
    OptionID = OptionErmittelnOderAnlegen(Optionsname)
    OptionswertSetzen OptionID, Optionswert, BenutzerID
End Sub

Quellcode 1

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar