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

Datenherkunft eines Unterberichts zur Laufzeit ändern

Die Datenherkunft eines Unterberichts lässt sich nach dem Öffnen eines Berichts nicht mehr ändern - zumindest nicht durch herkömmliches Zuweisen der Datenherkunft per VBA. Eine Alternative ist die Verwendung einer gespeicherten Abfrage, die man beim Öffnen des Hauptberichts mit einem neuen SQL-Ausdruck versieht.

Beispieldatenbank

Eine Datenbank mit dem hier vorgestellten Beispielbericht finden Sie unter folgendem Link:

Anwendungszweck

Normalerweise bindet man die Daten in Unterberichten an die des Hauptberichts, sodass der Unterbericht beispielsweise die Projekte zu einem Kunden anzeigt. Manchmal geht dies allerdings nicht, weil die Daten von Haupt- und Unterbericht nicht entsprechend verknüpft sind.

Abfrage vorbereiten

Als Abfrage kann man eine x-beliebige Abfrage verwenden - hauptsache, sie ist unter dem gewünschten Namen gespeichert und wird nicht für irgendeinen anderen Zweck benötigt. Stellen Sie dann die Eigenschaft Datenherkunft des Unterberichts auf diese Abfrage ein.

Datenherkunft anpassen

Das Anpassen der Datenherkunft des Unterberichts findet dann in der Beim Öffnen-Ereignisprozedur des Hauptberichts statt. Dort heißt es dann beispielsweise:

Private Sub Report_Open(Cancel As Integer)

    Dim db As DAO.Database

    Dim strSQL As String

    Set db = CurrentDb

    strSQL = "SELECT * FROM Artikel WHERE Artikelname LIKE 'C*'"

    db.QueryDefs("qryArtikelDummy").SQL = strSQL

End Sub

Am Unterberichts selbst ändert diese Routine gar nichts, sondern nur an der zugrunde liegenden Abfrage: Der weist sie den neuen SQL-Ausdruck zu. Nach dem Öffnen zeigt der Unterbericht schließlich die gewünschten Datensätze an.

 

© 2003-2010 André Minhorst Alle Rechte vorbehalten.