Bilder in Access, Teil III: Bilder aus OLE-Feldern anzeigen

Für alle, die Bilder flexibel in allen Access-Versionen einbinden und verwenden möchten, bietet sich das OLE-FEld an. Dabei füllen Sie die Daten nicht so hinein, wie es der erste Teil dieser Artikelreihe beschrieben hat, sondern als Byte-Array. Das heißt, dass Sie die komplette Datei, so wie sie auch auf der Festplatte liegt, in das OLE-Feld schreiben. Von dort aus können Sie die Datei beispielsweise wieder auf die Festplatte zurückschreiben oder diese als Bild an verschiedenen Stellen anzeigen – beispielsweise als Icons im TreeView- oder ListView-Steuerelement.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1311_Bilder.mdb.

Bilder anzeigen

Grundsätzlich gibt es zwei verschiedene Arten, Bilder zu speichern: in einem OLE-Feld oder in einem Anlage-Feld. Dabei ist letztere die moderne Variante, die mit Access 2007 eingeführt wurde. Die Anzeige der gespeicherten Bilder erfolgt meist als Icon für Schaltflächen, Ribbons, ListView– und TreeView-Steuerelemente oder in Kontextmenüs. Bei den Schaltflächen gibt es ebenfalls seit Access 2007 Neuerungen, wobei sich mit Access 2010 weitere änderungen ergeben haben. In dieser Artikelreihe beschreiben wir das Beziehen von Bildern sowohl aus OLE-Feldern als auch aus Anlage-Feldern.

Die Techniken für die Anzeige im Ribbon, in TreeView– und ListView-Steuerelementen sowie in Kontextmenüs sind über die Versionen gleich geblieben, bei den Schaltflächen oder einfachen Bildern von Formularen haben sich jedoch änderungen ergeben. Wir beziehen uns in diesem Fall nur auf die aktuelle Version, die seit Access 2010 Verwendung findet.

Bilder aus dem OLE-Feld anzeigen

Zunächst schauen wir uns an, wie Sie Bilder aus einem OLE-Feld in verschiedenen Objekten anzeigen. Später betrachten wir dann die Anzeige von Bildern aus einem Anlage-Feld und speziell solche aus einer Tabelle namens MSysResources – einer Systemtabelle, die seit Access 2010 automatisch eingerichtet wird.

Bildformat einstellen

Nochmal zur Erinnerung: In neueren Access-Versionen (ab Access 2007) legen Sie fest, dass Dateien nicht in Bitmaps konvertiert werden sollen, sondern im Quellbildformat zu speichern sind. Dies erspart an manchen Stellen ärger (siehe Bild 1).

Einstellen der Access-Optionen für das Speichern von Bildern

Bild 1: Einstellen der Access-Optionen für das Speichern von Bildern

Vorbereitung

Um die nachfolgenden Beispiele in Ihre eigenen Anwendungen zu integrieren, benötigen Sie drei Module, die Sie in der Beispieldatenbank zu diesem Artikel finden. Diese heißen:

  • mdlOGL0713
  • mdlBLOBs0713
  • mdlOLE

Diese Module wurden von Sascha Trowitzsch programmiert und von mir an die Access-Version von 2013 angepasst.

OLE-Bild in Bildsteuerelement anzeigen

Um ein Bild aus einem OLE-Feld in einem Bildsteuerelement anzuzeigen, laden Sie das Bild aus dem OLE-Feld zunächst in eine spezielle Variable und weisen diese dann dem Bildsteuerelement zu (siehe Bild 3).

Anzeigen eines Bildes aus einem OLE-Feld

Bild 2: Anzeigen eines Bildes aus einem OLE-Feld

Für das folgende Beispiel wollen wir die Bilder aus dem OLE-Feld der Tabelle tblOLEBilder verwenden. Dazu binden Sie ein Formular an diese Tabelle und fügen diesem neben den beiden Feldern OLEBildID und Bildname noch ein Bildsteuerelement hinzu (siehe Bild 2). Beim Hinzufügen zeigt Access automatisch einen Grafik einfügen-Dialog an, den Sie aber mit der Escape-Taste schließen können – das Bildsteuerelement wird dann zunächst ohne Inhalt angelegt. Legen Sie für das Bildsteuerelement den Namen ctlOLE fest.

Hinzufügen eines Bildsteuerelements zu einem Formular

Bild 3: Hinzufügen eines Bildsteuerelements zu einem Formular

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar