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 gewnschten Datei unter. Im vorliegenden Beitrag erfahren Sie, wie man Datenstze mit unterschiedlichen Abbildungen in einem Bericht unterbringt.

Beispieldatenbank

Die nachfolgenden Schritte knnen anhand der Tabelle tblAbbildungen und des Berichts rptAbbildungen der Beispieldatenbank AccessSQLDotNet.mdb nachvollzogen werden. Die .zip-Datei enthlt zustzlich zwei Beispielabbildungen, die Sie im gleichen Verzeichnis wie die Datenbank speichern mssen.

Abbildungen im Bericht unterbringen

Um Abbildungen wie etwa in Abbildung 1 in einem Bericht unterzubringen, bentigen Sie lediglich die Angabe des Pfades der Abbildung sowie eine kleine VBA-Prozedur, die durch die Ereigniseigenschaft Beim Drucken des Detailbereichs des Berichts ausgelst wird.

Abbildung 1: Anzeige von Bildern im Bericht

Die Entwurfsansicht des Berichts sieht wie in Abbildung 2 aus. Fr die Anzeige des Bildes verwenden Sie ein Bildsteuerelement. Beim Anlegen mssen Sie zunchst ein beliebiges Bild auswhlen. Dieses entfernen Sie anschlieend wieder, indem Sie die Eigenschaft Bild des Steuerelements leeren.

Legen Sie fr 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-2015 André Minhorst Alle Rechte vorbehalten.