SCHWERPUNKT
Berichte per VBA bändigen
Gruppierung nach einem Textfeld
Wenn Sie etwa nach einem Textfeld gruppieren, kann die Eigenschaft GroupOn die Werte 0 (gruppiert nach dem kompletten Feldwert) oder 1 (gruppiert nach den ersten x Zeichen) annehmen, wobei x dem Wert der Eigenschaft Group-Interval entspricht. Wenn Sie also die Artikel-Tabelle der Nordwind-Datenbank so gruppieren möchten, dass alle Artikel mit dem gleichen Anfangsbuchstaben gruppiert und der Anfangsbuchstabe im Gruppenkopf angezeigt werden soll, realisieren Sie das unter VBA mit der Ereignisprozedur aus Listing 2.
Private Sub Report_Open(Cancel As Integer)
'Erste Gruppierungsebene referenzieren
With Me.GroupLevel(0)
'Zu gruppierendes Feld festlegen
.ControlSource = "Artikelname"
'Gruppieren nach einer bestimmten Anzahl von Zeichen...
.GroupOn = 1
'...die hier festgelegt wird:
.GroupInterval = 1
'Gruppenkopf und Detailbereich sollen zusammengehalten werden.
.KeepTogether = 2
End With
End Sub
Der zugrunde liegende Bericht sieht im Entwurf wie in Bild 3 aus. Das Ergebnis können Sie in Bild 4 betrachten.