Tipps und Tricks 3/2011

In dieser Ausgabe gibt es mal wieder ein paar Tipps und Tricks rund um die Arbeit mit Microsoft Access. Im ersten Tipp erfahren Sie, wie Sie Unterberichte in einem Bericht wahlweise ein- oder ausblenden. Der zweite Tipp verrät, wie Sie die Zusammenstellung von SQL-Ausdrücken per VBA vereinfachen. Und schließlich zeigen wir Ihnen, wie Sie XML-Dokumente auf ihre Gültigkeit hin prüfen können.

Unterberichte nach Bedarf

Unterberichte kommen immer dann zum Einsatz, wenn ein Bericht Daten aus mehreren Tabellen gleichzeitig anzeigen soll, die nicht alle hierarchisch miteinander verknüpft sind. Wenn Sie zum Beispiel alle Ansprechpartner und alle Projekte zu einem Kunden in einem Bericht anzeigen möchten, erledigen Sie dies am besten mit zwei entsprechenden Unterberichten.

Manchmal möchten Sie den Bericht aber vielleicht nicht mit allen enthaltenen Unterberichten ausgeben – etwa, weil einer der Unterberichte Informationen enthält, die Sie gerade nicht benötigen.

In diesem Fall brauchen Sie zwei Dinge: Ein Formular, mit dem Sie die gewünschten Unterberichte selektieren, und einen Bericht, der die Unterberichte entsprechend dieser Auswahl ein- oder ausblendet.

Der Bericht dieses Beispiels soll drei Unterberichte enthalten, die vor dem Öffnen über ein Formular namens frmUnterberichte aktiviert oder deaktiviert werden sollen. Dieses Formular sieht im Entwurf wie in Abb. 1 aus. Die Kontrollkästchen heißen chk1, chk2 und chk3, die Schaltfläche cmdBericht. Ein Klick auf die Schaltfläche löst die folgende Ereignisprozedur aus, die schlicht den Bericht in der Seitenansicht öffnet:

pic001.png

Abb. 1: Das Formular zum Aktivieren und Deaktivieren der Unterberichte

Private Sub cmdBericht_Click()
    DoCmd.OpenReport "rpt", acViewPreview
End Sub

Die Unterberichte namens srp1, srp2 und srp3 sind zu Beispielzwecken recht schlicht aufgebaut und enthalten jeweils nur ein Bezeichnungsfeld (s. Abb. 2).

pic003.png

Abb. 2: Einer der drei Unterberichte

Der Hauptbericht heißt rptBericht und sieht im Entwurf wie in Abb. 3 aus. Dort sehen Sie drei Textfelder, welche die Überschriften der Unterberichte darstellen, dazwischen haben wir die Unterberichte eingefügt.

pic004.png

Abb. 3: Der Hauptbericht mit den drei Unterberichten

Wichtig ist, dass Sie die Textfelder und die Unterberichte direkt untereinander einfügen. Wenn Sie anderenfalls zwischen jedem Steuerelement etwa einen halben Zentimeter Platz lassen und dann den mittleren Bericht ausblenden, entsteht eine unschöne Lücke.

Wenn Sie nun in die Seitenansicht wechseln, sieht der Bericht wie in Abb. 4 aus – alle Überschriften und Unterberichte werden unmittelbar untereinander angezeigt.

pic002.png

Abb. 4: Berichtsvorschau der Unterberichte

Genau genommen können Sie die Überschriften auch in die Unterberichte integrieren und stattdessen einfach leere Textfelder zwischen den Berichten platzieren. Die Hauptaufgabe der Textfelder ist nämlich die eines Platzhalters zwischen den Berichten.

Wie nun blenden wir die einzelnen Berichtsbereiche aus Die notwendigen Informationen hält ja das Formular frmUnterberichte bereit. Der Bericht muss diese also beim Öffnen selbst auswerten, was wie in der folgenden Prozedur geschieht:

Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
    With Forms!frmUnterberichte
        Me!txt1.Visible = !chk1
        Me!srp1.Visible = !chk1
        Me!txt2.Visible = !chk2
        Me!srp2.Visible = !chk2
        Me!txt3.Visible = !chk3
        Me!srp3.Visible = !chk3
    End With
End Sub

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

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar