Bilder in MSysResources verwalten

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

Die Tabelle MSysResources ist relativ unbekannt. Kein Wunder, denn als Systemtabelle bleibt sie dem Benutzer in der Standardeinstellung verborgen, obwohl sie bereits seit Access 2010 in allen Datenbanken mit der Dateiendung .accdb sofort angelegt wird, wenn der Benutzer Objekte in der Datenbank anlegt. Dennoch ist sie sehr wichtig, denn sie speichert zum Beispiel die Bilddateien, die Sie Formularen in Bildsteuerelementen oder Schaltflächen zugewiesen haben. Genau um diese wollen wir uns in diesem Beitrag auch kümmern und eine Möglichkeit vorstellen, sich schnell einen Überblick über die enthaltenen Bilder zu verschaffen und schnell Bilder zu dieser Tabelle hinzuzufügen. Diese stehen dann zum Einfügen in Bildsteuerelemente und Schaltflächen bereit.

Systemtabellen einblenden

Wenn Sie Access öffnen, sehen Sie im Navigationsbereich erst einmal nur die Tabellen, die Sie selbst angelegt haben. Systemtabellen wie die Tabelle MSysObjects können Sie allerdings leicht sichtbar machen. Dazu klicken Sie mit der rechten Maustaste auf die Titelleiste des Navigationsbereichs und wählen den Eintrag Navigationsoptionen… aus.

Im nun erscheinenden Dialog Navigationsoptionen finden Sie im Bereich Anzeigeoptionen die beiden Optionen Ausgeblendete Objekte anzeigen und Systemobjekte anzeigen (siehe Bild 1).

Einblenden von Systemtabellen

Bild 1: Einblenden von Systemtabellen

Diese aktivieren Sie beide, denn einige Systemtabellen sind gleichzeitig auch noch als ausgeblendete Objekte gekennzeichnet. Direkt nach dem Schließen erscheinen die Systemtabellen dann in hellgrauer Schrift im Navigationsbereich. Allerdings finden wir hier noch nicht die Tabelle MSysResources vor (siehe Bild 2).

Systemtabellen einer neuen, leeren Access-Datenbank

Bild 2: Systemtabellen einer neuen, leeren Access-Datenbank

MSysResources erzeugen

Erst wenn Sie der Datenbank eine Tabelle hinzufügen – dazu reicht das Anlegen eines neuen Formulars im Entwurf -, und dann die F5-Schaltfläche zum Aktualisieren des Navigationsbereichs betätigen, zeigt dieser eine weitere Tabelle an, nämlich die bereits erwähnte Tabelle MSysObjects. Wenn Sie gleich ein Formular anlegen, erscheinen sogar gleich zwei neue Tabellen in der Liste – MSysResources und MSysNameMap (siehe Bild 3).

Systemtabellen nach dem Anlegen eines Formulars

Bild 3: Systemtabellen nach dem Anlegen eines Formulars

MSysResources im Detail

Uns interessiert aber nur die Tabelle MSysResources. Diese sieht im Entwurf wie in Bild 4 aus. Das Anlage-Feld Data nimmt die Bild-Dateien und andere Inhalte auf. Extension gibt die Dateinamenerweiterung an. ID ist der Primärschlüsselindex. Name enthält den Namen der Datei ohne Dateiendung und Type den Typ, im Falle von Bilddateien immer img. Interessanterweise ist keines der Textfelder mit einem eindeutigen Index versehen, und es gibt auch keinen zusammengesetzten Index über die beiden Felder Name und Extension. Das bedeutet, dass Sie darauf achten müssen, nicht mehrere Bilddateien mit gleichem Namen zu speichern. Sonst kann es sein, dass Sie zwar die zuletzt angelegte Bilddatei in einem Steuer-element anzeigen wollen, Access Ihnen aber eine zuvor angelegte Bilddatei präsentiert.

Entwurf der Tabelle MSysResources

Bild 4: Entwurf der Tabelle MSysResources

Wechseln wir in die Datenblattansicht dieser Tabelle, finden wir dort bereits einen Datensatz vor (siehe Bild 5).

Die Tabelle MSysResources in der Datenblattansicht

Bild 5: Die Tabelle MSysResources in der Datenblattansicht

Dabei handelt es sich um eine Theme-Datei, in der Informationen zur Formatierung von Formularen und Steuerelementen befinden.

Bild hinzufügen per Ribbon

Es gibt verschiedene Möglichkeiten, Bilder in dieser Tabelle zu speichern. Der Weg über die Benutzeroberfläche gelingt wie folgt:

  • Erstellen Sie ein neues, leeres Formular in der Entwurfsansicht.
  • Wählen Sie im Ribbon den Befehl Ent-wurf|Steuer-ele-ment|Bild ein-fügen|Durchsuchen… aus (siehe Bild 6).
  • Hinzufügen eines Bildes

    Bild 6: Hinzufügen eines Bildes

  • Selektieren Sie im nun erscheinenden Dialog Grafik einfügen das gewünschte Bild aus – beispielsweise ein Icon für eine Schaltfläche (siehe Bild 7).
  • Auswählen der gewünschten Bilddatei

    Bild 7: Auswählen der gewünschten Bilddatei

  • Das Bild erscheint nun in der Bildergalerie, wenn Sie diese erneut öffnen (siehe Bild 8).
  • Das gewählte Bild erscheint nun in der Bildergalerie.

    Bild 8: Das gewählte Bild erscheint nun in der Bildergalerie.

  • Damit brechen wir das Erstellen des Formulars ab – wir brauchen das Bild nicht zum Formular hinzuzufügen, damit es in der Datenbank gespeichert ist.

Wenn Sie nun die Tabelle MSysResources erneut öffnen beziehungsweise den Inhalt der noch offenen Tabelle mit F5 aktualisieren, finden Sie einen neuen Eintrag vor (siehe Bild 9).

Das neue Bild in der Tabelle MSysResources

Bild 9: Das neue Bild in der Tabelle MSysResources

Bilder per MSysResources hinzufügen

Schauen wir uns den zweiten Weg an, Bilder zur Tabelle MSysResources hinzuzufügen. Dazu legen Sie direkt in der Tabelle einen neuen Datensatz an, indem Sie das Feld Extension mit dem Wert png, Name mit baseball und Type mit img füllen. Dann klicken Sie doppelt auf das Feld mit dem Büroklammer-Symbol und finden den Dialog aus Bild 10 vor.

Hinzufügen einer Bilddatei über den Anlagen-Dialog

Bild 10: Hinzufügen einer Bilddatei über den Anlagen-Dialog

Hier klicken Sie auf die Schaltfläche Hinzufügen… und wählen im nun erscheinenden Dialog die dazu passende Bilddatei aus. Der Name der Bilddatei taucht dann in der Liste der Anlagen im Dialog Anlegen auf (siehe Bild 11). Nach dem Schließen des Dialogs erscheint im Feld mit dem Büroklammer-Symbol die Büroklammer mit dem Wert 1 in Klammern für die Anzahl der enthaltenen Anlagen.

Die hinzugefügte Bilddatei im Anlagen-Dialog

Bild 11: Die hinzugefügte Bilddatei im Anlagen-Dialog

Machen wir die Probe, ob wir das neue Bild genauso wie das über die Bild hinzufügen-Funktion des Formularentwurfs hinzugefügt haben und öffnen die Bildergalerie unter dem Befehl Entwurf|Steuerelemente|Bild einfügen. Überraschend erscheint dort nach wie vor nur unser zuerst eingefügtes Bild!

Wenn wir allerdings die Datenbank schließen und wieder öffnen, finden wir in der Bildergalerie die beiden hinzugefügten Bilder vor (siehe Bild 12).

Das neue Bild erscheint nach dem erneuten Öffnen der Anwendung auch in der Bildergalerie.

Bild 12: Das neue Bild erscheint nach dem erneuten Öffnen der Anwendung auch in der Bildergalerie.

Wir können die Bilddateien also auch direkt zur Tabelle MSysResources hinzufügen. Allein die Vorgehensweise ist etwas umständlich – zumindest, wenn Sie mehr als ein Bild auf einmal hinzufügen wollen.

Und auch das manuelle Eintragen in die Felder Name, Extension und Type ist aufwendig. Deshalb bauen wir nun eine Prozedur, mit der Sie auch mehr als ein Bild gleichzeitig auswählen und zur Tabelle hinzufügen können – wobei die Felder automatisch auf Basis der Informationen aus dem Dateinamen gefüllt werden.

Funktion zum Hinzufügen von Bildern zur Tabelle MSysResources

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