Bericht mit externen AbbildungenAbbildungen speichert man am besten nicht in der Datenbank, sondern im Filesystem. In der entsprechenden Tabelle der Datenbank bringt man lediglich den Pfad zu der gewünschten Datei unter. Im vorliegenden Beitrag erfahren Sie, wie man Datensätze mit unterschiedlichen Abbildungen in einem Bericht unterbringt.

BeispieldatenbankDie nachfolgenden Schritte können anhand der Tabelle tblAbbildungen und des Berichts rptAbbildungen der Beispieldatenbank AccessSQLDotNet.mdb nachvollzogen werden. Die .zip-Datei enthält zusätzlich zwei Beispielabbildungen, die Sie im gleichen Verzeichnis wie die Datenbank speichern müssen.

Abbildungen im Bericht unterbringenUm Abbildungen wie etwa in Abbildung 1 in einem Bericht unterzubringen, benötigen Sie lediglich die Angabe des Pfades der Abbildung sowie eine kleine VBA-Prozedur, die durch die Ereigniseigenschaft Beim Drucken des Detailbereichs des Berichts ausgelöst wird.
Abbildung 1: Anzeige von Bildern im Bericht
Die Entwurfsansicht des Berichts sieht wie in Abbildung 2 aus. Für die Anzeige des Bildes verwenden Sie ein Bildsteuerelement. Beim Anlegen müssen Sie zunächst ein beliebiges Bild auswählen. Dieses entfernen Sie anschließend wieder, indem Sie die Eigenschaft Bild des Steuerelements leeren.
Legen Sie für die Ereigniseigenschaft Beim Drucken des Detailbereichs des Berichts folgende Prozedur an:
Private Sub Detailbereich_Print(Cancel As Integer, PrintCount As Integer)
Me.picAbbildung.Picture = Datenbankverzeichnis & Me.Abbildungspfad
End Sub
Die Prozedur weist der Eigenschaft Picture den Pfad und den Dateinamen der anzuzeigenden Abbildung zu. Im Beispiel sollen Abbildungen aus dem Verzeichnis, in dem sich auch die Datenbank befindet, angezeigt werden. Dazu ermittelt die Funktion Datenbankverzeichnis dynamisch das aktuelle Verzeichnis:
Public Function Datenbankverzeichnis() As String
Datenbankverzeichnis = Left(CurrentDb.Name, _
Len(CurrentDb.Name) - Len(Dir(CurrentDb.Name)))
End Function
Abbildung 2: Entwurfsansicht des Berichts |