SCHWERPUNKT

Berichte per VBA bändigen

Berichte sind in vielerlei Hinsicht Formularen ähnlich, doch durch die fehlende Interaktion ist ihr Funktionsumfang auch geringer. Man sagt, die Steuerung per VBA biete daher bei Berichten auch nicht so viele Möglichkeiten. Das ist prinzipiell richtig, doch gibt es durchaus einige VBA-Eigenschaften, die in Formularen keinen oder nur wenig Sinn machen würden. Der vorliegende Beitrag zeigt, welche Möglichkeiten die Steuerung von Berichten mit VBA offeriert.

In der Beitragsreihe „Ereignisreiche Berichte“ (ab Ausgabe 12/2005) haben Sie bereits erfahren, welche Ereignisse Berichte bereitstellen und für welche Zwecke sie sich einsetzen lassen. Neben diesen Ereignissen liefern Berichte einige Eigenschaften und Methoden, ohne die so manche Aufgabe nicht zu lösen wäre. Im vorliegenden Beitrag erfahren Sie, worum es sich dabei dreht und wie Sie die Eigenschaften und Methoden verwenden.

Steuerelemente und Berichtsbereiche referenzieren

Wenn Sie den Wert eines Steuerelements lesen oder schreiben möchten, greifen Sie wie in Formularen darauf zu: entweder über die entsprechende Auflistung, inklusive Objektname, oder, wenn die Referenz aus dem gleichen Objekt heraus erfolgt, mit dem Schlüsselwort Me.
Für die Variante mit dem Objektnamen gibt es mehrere Möglichkeiten, unter anderem die folgenden:
Reports.Item("rptBeispiel").Controls _("ctlBeispiel")
Reports!rptBeispiel!ctlBeispiel

Mit dem Schlüsselwort Me sieht der Zugriff etwa folgendermaßen aus:
Me!ctlBeispiel