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

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 3/2004.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Malen nach Zahlen

André Minhorst, Duisburg

Was wäre eine Rechnung ohne die Linie zur Trennung von Einzelpositionen und Rechnungssumme oder zum Unterstreichen der Überschrift? Oder ein optisch schöner Bericht, in dem der Briefkopf durch eine Linie vom Inhalt getrennt ist? Die meisten dieser Linien können Sie statisch in den Bericht einfügen, doch mit ein wenig VBA können Sie noch wesentlich mehr für die Optik Ihrer Berichte tun. Im vorliegenden Beitrag erfahren Sie, wie es geht.

Alles per Line

Die nachfolgenden Beispiele für die optische Aufbereitung von Berichten basieren alle auf der Anwendung der Line-Methode von VBA. Um nachfolgende Unklarheiten bezüglich der Anwendung dieser Methode im Voraus zu beiseitigen, erfahren Sie erst einmal alles über das einzige Werkzeug, mit dem Sie Ihre künstlerische Ader in Access ausleben können (mit Ausnahme der Circle-Methode).

Die Line-Methode kann mehr, als der Name verrät: Mit ihr können Sie nämlich nicht nur Linien, sondern auch Rechtecke in einen Bericht zaubern. Das Ganze funkioniert nur in den Prozeduren, die durch die Ereigniseigenschaft Beim Drucken der verschiedenen Berichtsbereiche ausgelöst wird. Eine Ausnahme bildet die Bei Seite-Ereigniseigenschaft, die man auch zum Zeichnen von Linien und Rechtecken verwenden kann.

Um vernünftig mit der Line-Methode arbeiten zu können, legen Sie erstmal die Maßeinheit für den Bericht fest. Dazu stellen Sie den Wert der Eigenschaft ScaleMode ein - in Deutschland kommt hier vermutlich der Wert 6 (Millimeter) oder 7 (Zentimeter) zum Einsatz. Es stehen auch Werte wie Twips, Punkte oder Pixel zur Verfügung, die aber in diesem Fall eher unhandlich sind. Wenn Sie ohnehin nur die Eigenschaften wie Koordinaten von Berichtsbereichen oder Steuerelementen als Grundlage für das Zeichnen von Linien und Rechtecken verwenden, können Sie die Eigenschaft ScaleMode unberührt lassen. Ebenfalls interessant sind die vier Eigenschaften ScaleTop, ScaleLeft, ScaleHeight und ScaleWidth, die der Ausgabe der Koordinaten und der Abmessungen der einzelnen Bereiche dienen. Die folgende Prozedur, die Sie für die Ereigniseigenschaft Bei Seite hinterlegen, gibt beispielsweise die kompletten Maße einer Seite aus:

Private Sub Report_Page()

  Me.ScaleMode = 7

  Debug.Print "Left: " & Me.ScaleLeft

  Debug.Print "Top: " & Me.ScaleTop

  Debug.Print "Width: " & Me.ScaleWidth

  Debug.Print "Height: " & Me.ScaleHeight

End Sub

Für einen jungfräulichen Bericht zeigt die Prozedur Folgendes im Testfenster an:

Left: 0

Top: 0

Width: 15,86796

Height: 24,56394

Die Paramter der Line-Methode können auf unterschiedliche Art übergeben werden. Im nachfolgenden Beitrag kommt die folgende zum Zuge:

object.Line [[Step](x1, y1)] - [Step](x2, y2)[, [color][, B[F]]]

Dabei geben x1 und y1 den Startpunkt der Linie beziehungsweise den ersten Eckpunkt des Rechtecks an. x2 und y2 enthalten die Koordinate des Endpunktes der Linie beziehungsweise des gegenüberliegenden Punktes des Rechtecks. Unter Farbe geben Sie eine unter Access übliche Farbkonstante an und für Konstante geben Sie entweder keinen Wert für eine Linie oder den Buchstaben B für ein Rechteck an. Zusätzlich können Sie den Parameter B zu BF ergänzen, um ein gefülltes Rechteck anzuzeigen. Wenn Sie den Parameter Step verwenden, werden die Parameter x1, y1, x2 und y2 relativ zu dem Punkt ermittelt, der durch die Eigenschaften CurrentX und CurrentY des jeweiligen Bereichs angegeben ist.

Hinweis

Versuchen Sie es nicht mit der in der Online-Hilfe neuerer Access-Versionen angegebenen Fassung der Line-Methode. Sie ist schlichtweg falsch. (

Komplette Seite einrahmen

Ein einfaches Beispiel zum Start ist das Einrahmen einer kompletten Berichtsseite inklusive Berichtskopf und -fuß. Diese Aufgabe handeln Sie in einer einzigen Zeile ab, indem Sie die Eigenschaften ScaleTop, ScaleLeft, ScaleHeight und ScaleWidth in die Line-Methode einfließen lassen.

Eigentlich sollte die folgende Anweisung in der Ereignisprozedur Bei Seite des Berichts alles Notwendige erledigen und beispielsweise einen roten Rahmen um den Bericht legen:

Me.Line (Me.ScaleLeft, Me.ScaleTop)-(Me.ScaleWidth, Me.ScaleHeight), &HFF, B

Da aber zwischen Theorie und Praxis immer noch ein kleiner Unterschied besteht, erscheinen dann die rechte und die untere Linie des Rechtecks nicht mehr im Bericht. Wenn Sie die Anweisung um wenige Millimeter anpassen wie in folgender Prozedur, sieht das Ergebnis wie in Abb. 1 aus:

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Berichte manuell füllen

Gruppensummen ohne Gruppen im Berichtsfuß

Termine in Berichten darstellen

Spaltenüberschriften in Berichten

© 2003-2015 André Minhorst Alle Rechte vorbehalten.