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

Bericht mit externen Abbildungen

Abbildungen 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.

Beispieldatenbank

Die 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 unterbringen

Um 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

© 2003-2010 André Minhorst Alle Rechte vorbehalten.