Binär gespeicherte Bilder in AccessAccess im Unternehmen beschäftigt sich wieder einmal mit dem Lieblingsthema vieler Access-Entwickler: In Tabellen gespeicherte Bilder. Im vorliegenden Beitrag lernen Sie eine Beispieldatenbank kennen, die alle mit dem Speichern von Bildern in Access-Tabellen interessanten Techniken zusammenfasst.

BeispieldatenbankDie Beispieldatenbank zu diesem Beitrag finden Sie unter folgendem Link:

Diese Demo-Datenbank von Sascha Trowitzsch (development@moss-soft.de) enthält vier Beispiele, wie mit Bildern umgegangen werden kann, die in Access binär gespeichert sind. Anzeige mit Access-Image via Export und Verweis auf eine temporäre DateiFormular PIX verwendet die übliche Methode und erzeugt aus den Binärdaten eine temporäre Datei, deren Pfad dann dem Image-Steuerelement per .Picture-Eigenschaft zugeordnet wird. Dieses Verfahren ist eigentlich nur dann einzusetzen, wenn das binäre Bildformat NICHT JPG, BMP, EMF oder GIF ist und den Einsatz eines Office-Grafikimports erfordert. Anzeige mit MSForms-Image ohne Zwischenschritt über das Dateisystem Formular PIX2 verwendet für die Anzeige der Bilder nicht ein Image-Steuerelement von Access, sondern das Image von MSForms (ActiveX-Steuerelement). MSForms wird von jeder Access-Installation unterstützt. Die Binärdaten werden dazu in ein OLE-StdPicture umgewandelt, das MSForms-Image anzeigen kann. Dieses Verfahren unterstützt allerdings nur die Dateitypen BMP, RLE, EMF, ICO, JPG, GIF. Anzeige mit Access-Image ohne Dateisystem-EinsatzFormular PIX3 verwendet wie Beispiel 1 ein Access-Image. Wie PIX_2 erzeugt es aber zunächst ein OLE-StdPicture (...welches nur die erwähnten Dateiformate unterstützt...) und wandelt es anschließend in ein Byte-Array um, das an die Eigenschaft PictureData des Image-Steuerelements übergeben wird. Diese Umwandlungs-Funktion wird von S. Lebans (www.lebans.com) zur Verfügung gestellt. Anzeige von großen Bildern mit Hilfe von ScrollbalkenFormular PIX4 arbeitet genauso wie PIX2 mit dem Unterschied, dass sich hier die Bildgröße NICHT anpasst. Stattdessen wird zur Anzeige ein MSForms-Image in einem Unterformular verwendet, wobei bei großen Bildern Scrollbalken sichtbar werden. ZusammenfassungDie drei letzten Verfahren benötigen nicht den Zwischenschritt über eine temporäre Datei und arbeiten ausschließlich im Speicher. Damit entfällt das lästige Zwischenspeichern auf der Festplatte inklusive anschließendem Löschen.
Die diversen Umwandlungen sind in den Modulen der Datenbank enthalten.
|