Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 3/2010.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Speichern Sie Anwendungsoptionen einfach in den Properties der verschiedenen Datenbankobjekte.

Techniken

VBA, Properties

Voraussetzungen

Access 2000 und höher

Beispieldateien

AccessProperties.mdb

Shortlink

****

Optionen in Properties speichern

André Minhorst, Duisburg

Es gibt verschiene Ansätze, Anwendungsoptionen zu speichern, also zum Beispiel Standardverzeichnisse, den aktuellen Benutzer et cetera. Da wären eine eigene Optionentabelle, die Windows-Registry oder auch einfach eine Text- oder XML-Datei. Eine ganz großartige Möglichkeit wird gern übersehen: das Speichern von Optionen in den Datenbankeigenschaften. Dieser Beitrag zeigt, wie Sie Anwendungsoptionen an verschiedenen Stellen innerhalb der Access-Datenbank speichern können.

Wenn Sie an Access-Eigenschaften denken, fällt Ihnen vermutlich zunächst der Eigenschaften-Dialog ein, den Sie unter Access 2003 und älter mit dem Menüeintrag Datei|Datenbankeigenschaften und unter Access 2007 mit dem Office-Menü-Befehl Verwalten|Datenbankeigenschaften anzeigen können (s. Abb. 1).

pic001.png

Abb. 1: Der Eigenschaften-Dialog einer Access-Anwendung

Dort befinden sich einige Informationen, die auf verschiedene Register aufgeteilt wurden. Sie können die meisten Eigenschaften durch simples Überschreiben ändern. Möglicherweise finden Sie in den vorhandenen Eigenschaften bereits eine, die Ihren Anforderungen entspricht. Falls nicht, wechseln Sie einfach zum letzten Registerreiter Anpassen (s. Abb. 2).

pic002.png

Abb. 2: Anlegen benutzerdefinierter Eigenschaften

Hier können Sie auch individuelle Eigenschaften anlegen. Dazu schreiben Sie den Namen der Eigenschaft in das obere Textfeld, wählen den Datentyp aus und tragen den Wert der Eigenschaft ein. Nach einem Klick auf Hinzufügen erscheint die neue Eigenschaft in der Liste der benutzerdefinierten Eigenschaften.

Datenbankeigenschaften per VBA lesen

Natürlich sollen Optionen wie der aktuelle Benutzer oder dergleichen nicht von Hand in einem Eigenschaften-Dialog gespeichert werden, sondern etwa beim Schließen der Anwendung per VBA - und gleich beim Öffnen lesen wir diesen Wert wieder aus.

Beginnen wir mit dem Lesen der bereits vorhandenen Datenbankeigenschaften, also der Eigenschaften, die Sie auf den ersten vier Registerseiten finden. Dies erledigt die folgende Prozedur:

Public Sub Datenbankeigenschaften()

Dim prp As DAO.Property

Dim db As DAO.Database

Dim con As DAO.Container

Dim doc As DAO.Document

Set db = CurrentDb

Set con = db.Containers("Databases")

Set doc = con.Documents("SummaryInfo")

For Each prp In doc.Properties

Debug.Print " " & prp.Name, prp.Value

Next prp

Set doc = Nothing

Set con = Nothing

Set db = Nothing

End Sub

Das Ergebnis sieht bei einer frischen Access 2007-Datenbank so aus. Die letzten drei Einträge enthalten die änderbaren und standardmäßig ausgefüllten Eigenschaften des Eigenschaftenfensters, die übrigen finden Sie auf den übrigen Seiten:

Name SummaryInfo

Owner admin

UserName admin

Permissions 0

AllPermissions 65536

Container Databases

DateCreated 09.03.2010 10:25:55

LastUpdated 09.03.2010 10:25:55

Title AccessProperties

Author Andre Minhorst

Company mossSOFT

Die noch nicht ausgefüllten Eigenschaften der Registerseite aus Abb. 1 werden erst nach dem Eintragen von Werten in der Properties-Auflistung angelegt.

Ausflug in die Welt der Containers und Documents

In der obigen Prozedur gibt es einige Objekttypen, die dem Access-Entwickler nicht jeden Tag über den Weg laufen:

  • Container: Es gibt je Objekttyp (DataAccessPages, Databases, Forms, Modules, Relationships, Reports, Scripts, SysRel, Tables) in Access einen Container, der für jedes Objekt des entsprechenden Typs in der Documents-Auflistung ein Document-Objekt enthält.
  • Document: Jedes Document-Objekt enthält Zusatzinformationen zu dem Objekt, auf das es sich bezieht. Dies können beispielsweise Eigenschaften (Properties) sein.

Alle Container auflisten

Die folgende Routine listet alle Container einer frischen Access-Datenbank auf:

Public Sub AlleContainer()

Dim db As DAO.Database

Dim con As DAO. Container

Set db = CurrentDb

For Each con In db.Containers

Debug.Print con.Name

Next con

End Sub

Documents auflisten

Gehen wir noch einen Schritt weiter und schauen uns alle Document-Objekte aller Container an:

Public Sub AlleDocuments()

Dim db As DAO.Database

Dim con As DAO. Container

Dim doc As DAO. Document

Set db = CurrentDb

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Access-Optionen gestern und heute

Effizientes Codieren

VBA-Code mit Doxygen dokumentieren

Grundlagen der Quellcodeverwaltung

Anwendungsoptionen in Tabellen speichern

© 2003-2015 André Minhorst Alle Rechte vorbehalten.