Bilder im Endlosformular

Neulich fragte mich ein Leser, wie er Bilder aus dem Dateisystem, deren Dateiname oder Pfad in einer Tabelle gespeichert sind, in einem Formular in der Endlosansicht darstellen kann. Das ist seit Access 2010 und dem dort aktualisierten Bildsteuerelement gar nicht mal so kompliziert. In diesem Beitrag zeigen wir die notwendigen Schritte, um in einem Formular mehrere Datensätze mit verschiedenen Bildern auf einen Blick anzuzeigen.

Wir schauen uns dabei zwei verschiedene Varianten an:

  • Bei der ersten ist für jeden Datensatz der komplette Pfad zu dem anzuzeigenden Bild in einem Feld der Tabelle gespeichert.
  • Bei der zweiten finden wir nur noch den Dateinamen in einem Feld der Datenbank. Dabei gehen wir allerdings davon aus, dass sich die Bilder im gleichen Verzeichnis wie die Datenbankdatei befinden oder in einem Verzeichnis unterhalb dieses Verzeichnisses. Dieses Verzeichnis muss jedoch bekannt und relativ zur Datenbankdatei immer gleich sein.

Diese beiden verschiedenen Informationen über die anzuzeigenden Bilder speichern wir in den Feldern Dateipfad und Dateiname der Tabelle tblBilder, die in der Entwurfsansicht wie in Bild 1 aussieht.

Tabelle mit Bildpfaden und Bilddateinamen in der Entwurfsansicht

Bild 1: Tabelle mit Bildpfaden und Bilddateinamen in der Entwurfsansicht

Wechseln wir dann zur Datenblattansicht und geben einige Daten ein, sieht die Tabelle wie in Bild 2 aus. Der Inhalt des Feldes Dateiname entspricht jeweils dem im Feld Dateipfad angegebenen Dateinamen.

Tabelle mit Bildpfaden und Bilddateinamen in der Datenblattansicht

Bild 2: Tabelle mit Bildpfaden und Bilddateinamen in der Datenblattansicht

Die Bilddateien befinden sich in diesem Beispiel im gleichen Verzeichnis wie die Beispieldatenbank. Wenn Sie das Beispiel aus dem Download ausprobieren wollen, müssen Sie also alle Dateien (die .accdb-Datenbank und die vier Bilddateien) in das gleiche Verzeichnis entpacken.

Das Feld Dateipfad enthält zu diesem Zeitpunkt natürlich noch die Pfadangaben, die mit der Beispieldatenbank geliefert wurden und die dem Pfad auf dem Rechner entsprechen, mit dem die Beispieldatenbank erstellt wurde.

Die Prozedur, die beim Schließen des frmIntro-Formulars der Beispieldatenbank ausgeführt wird, stellt den Inhalt des Feldes Dateipfad jedoch auf den Dateipfad der aktuellen Datenbankdatei und dem Bildnamen aus dem Feld Dateiname ein:

Private Sub cmdGo_Click()
     Dim db As DAO.Database
     Set db = CurrentDb
     db.Execute "UPDATE tblBilder SET Dateipfad = ''" _
         & CurrentProject.Path & "\'' & Dateiname", _
         dbFailOnError
     ...
End Sub

Bilder per Pfad im Endlosformular

Nun legen wir das erste Beispielformular an. Dieses nennen wir frmBilderPerPfad und wir weisen ihm als Datensatzquelle die Tabelle tblBilder zu.

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

TestzugangOder bist Du bereits Abonnent? Dann logge Dich gleich hier ein. Die Zugangsdaten findest Du entweder in der aktuellen Print-Ausgabe auf Seite U2 oder beim Online-Abo in der E-Mail, die Du als Abonnent regelmäßig erhältst:

Schreibe einen Kommentar