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

Bilder in Access, Teil 1: OLE-Objekte in Tabellen speichern

Das Verwalten von Bildern in Access ist eines der meistgefragten Probleme bei der Arbeit mit diesem Datenbanksystem. Die Beitragsreihe Bilder in Access stellt unterschiedliche Möglichkeiten vor und erläutert dabei entstehende Probleme. Im ersten Teil der Beitragsreihe erfahren Sie, wie Sie OLE-Objekte in Tabellen speichern.

Beiträge dieser Beitragsreihe:

Teil 1: OLE-Objekte in Tabellen speichern

Teil 2: Externe Bilder in Formularen anzeigen

Teil 3: Bilder als Datenstrom in Access speichern

Teil 4: Eingebettete Bilder als .jpg-Dateien exportieren

Beispieldatenbank

Die Beispieldatenbank BilderInAccess.mdb enthält die Beispiele der kompletten Beitragsreihe. Die Datenbank enthält eine Tabelle zum Speichern von Bildern sowie Formulare zur Anzeige und zum Importieren von Bilddaten.

Bilder als OLE-Objekt in einer Tabelle speichern

Am einfachsten und schnellsten machen Sie Ihre Bilder in Access verfügbar, wenn Sie diese einfach in einem Feld mit dem Datentyp OLE-Objekt speichern. Dazu gehen Sie folgendermaßen vor:

  1. Legen Sie in einer Tabelle ein Feld mit dem Datentyp OLE-Objekt an.
  2. Wechseln Sie in die Datenblattansicht der Tabelle.
  3. Klicken Sie mit der rechten Maustaste in das OLE-Feld und wählen Sie den Eintrag Objekt einfügen aus dem Kontextmenü aus (siehe Abbildung 1).
  4. Wählen Sie im nun erscheinenden Dialog die Option Aus Datei erstellen aus und geben Sie den Dateinamen der einzufügenden Datei an (siehe Abbildung 2).

Abbildung 1: Einfügen eines Objekts in ein OLE-Feld

Verknüpfen oder nicht verknüpfen?

Der Dialog aus Abbildung 2 enthält ein Kontrollkästchen, mit dem angegeben werden kann, ob die Bilddatei verknüpft werden soll oder nicht. In beiden Fällen werden die Daten im Bitmap-Format in der Datenbank gespeichert. Wenn die verknüpften Daten auch noch auf der Festplatte vorliegen, verlieren Sie gegebenenfalls eine Menge Speicherplatz. Wenn Sie eine Bilddatei durch eine Verknüpfung einbinden möchten, sollten Sie sollten Sie also besser darauf verzichten, die Bilddatei in einem OLE-Feld zu speichern und stattdessen nur den Bildpfad speichern. Auf diese Weise behalten Sie auch den Vorteil, dass auf der Festplatte geänderte Daten auch in der Datenbank geändert angezeigt werden. Wie die Anzeige von Bilddateien funktioniert, die über die Angabe des Pfades nur quasi mit der Datenbank verknüpft sind, erfahren Sie im zweiten Teil dieser Beitragsserie.

Abbildung 2: Auswahl der einzufügenden Datei

Die Tabelle zeigt nun im Feld Bild den Eintrag Bitmap an, falls Sie eine Grafikdatei eingefügt haben. Wenn Sie nun erneut das Kontextmenü des Feldes Bild auswählen, finden Sie einen neuen Eintrag mit mehreren Untereinträgen vor: Über den Eintrag Bitmap-Objekt können Sie nun die drei Befehle Bearbeiten, Öffnen und Konvertieren... auswählen.

Anzeige von Bildern im Formular

Um die in der Tabelle als OLE-Objekt gespeicherten Bilder in einem Formular anzuzeigen, gehen Sie folgendermaßen vor:

  1. Öffnen Sie ein neues Formular in der Entwurfsansicht.
  2. Stellen Sie die Eigenschaft Datenherkunft auf die Tabelle tblBilderOLE ein.
  3. Ziehen Sie alle Felder der Tabelle aus der Wertliste in den Detailbereich des Formulars.

Das Formular sieht nun wie in Abbildung 3 aus. Mit einem Doppelklick können die Bilder bearbeitet werden; neue Bilder fügen Sie in leeren Datensätzen über den entsprechenden Eintrag des Kontextmenüs ein.

Abbildung 3: Ein als OLE-Objekt gespeichertes Bild im Formular

Einfügen per Schaltfläche

Wenn der Benutzer nicht den Umweg über das Kontextmenü des OLE-Feldes gehen soll, um ein Bild einzufügen, können Sie ihm zu diesem Zweck eine Schaltfläche zur Verfügung stellen. Legen Sie für die Ereigniseigenschaft Beim Klicken die folgende Prozedur an:

Private Sub cmdBildEinfuegen_Click()

    On Error Resume Next

    Me!Bild.Action = acOLEInsertObjDlg

End Sub

Die zweite der beiden Anweisungen öffnet den Dialog aus Abbildung 2 und speichert das ausgewählte Bild in der dem Bildsteuerelement zugrundeliegenden Datenherkunft. Die erste Anweisung sorgt dafür, dass der beim Abbrechen dieses Dialoges ausgelöste Fehler nicht angezeigt wird.

© 2003-2015 André Minhorst Alle Rechte vorbehalten.