Access Systemobjekte

Haben Sie sich auch schon mal gefragt wo Access die ganzen Informationen über die vorhandenen Objekte, also Tabellen, Formulare, Abfragen, Beziehungen, Module etc., speichert? Access legt zu diesem Zweck bereits zum Zeitpunkt, wo eine neue Datenbankdatei erstellt wird, mehrere Systemtabellen an, die aber ausgeblendet sind. Darin werden die verschiedensten Access Internas gespeichert, wie die Systemobjekte, Abfragen, Makros oder Informationen über die referentielle Integrität. Diese Angaben sind nicht dokumentiert und top secret. Microsoft will sich da nicht in die Karten schauen lassen, da dies einiges an verstecktem Know How darstellt. In diesem Bericht kratzen wir auch nur wenig an der Oberfläche.
Um die Systemtabellen sichtbar zu machen, gehen Sie im Menü Extras auf Optionen und dann auf das Registerblatt Allgemein. In der Gruppe Anzeigen können Sie dann die Option „Systemobjekte“ auswählen und mit OK bestätigen.
Unter Access 2007 findet man diese Option wie folgt:
Klick auf Office-Button, dann unter:
Access-Optionen => Aktuelle Datenbank => Bereich Navigation => Navigationsoptionen
Dort die Anzeigeoption „Systemobjekte anzeigen“ markieren und 2x mit OK bestätigen.
Jetzt werden mehrere Systemtabellen angezeigt. Man erkennt diese daran dass alle mit „MSys“ beginnen. Interessant für den Access Entwickler ist z.B. die Tabelle MSysObjects, in der sämtliche Systemobjekte aufgelistet sind.
Die Tabelle MSysObjects besitzt folgende Felder:
Feldname | Felddatentyp |
Connect | Memo |
Database | Memo |
DateCreate | Datum/Uhrzeit |
DateUpdate | Datum/Uhrzeit |
Flags | Zahl |
ForeignName | Text |
Id | Zahl |
Lv | OLE-Objekt |
LvExtra | OLE-Objekt |
LvModule | OLE-Objekt |
LvProp | OLE-Objekt |
Name | Text |
Owner | Binär |
ParentID | Zahl |
RmtInfoLong | OLE-Objekt |
RmtInfoShort | Binär |
Type | Zahl |