Es wird dann automatisch die Prozedur erstellt:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer).
Setzen Sie den Cursor zwischen die beiden Zeilen und definieren Sie den Funktionsaufruf wie folgt:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
AlternateColor
End Sub
Setzen Sie den Cursor ans Ende von "End Sub" und fügen Sie mit der Return-Taste ein paar Leerzeichen ein. Kopieren Sie nun den folgenden Code an diese Stelle:
Private Sub AlternateColor()
Const farbehell = 16777215
Const farbedunkel = -2147483633
If sw = True Then
Me.Detailbereich.BackColor = farbehell
Else
Me.Detailbereich.BackColor = farbedunkel
End If
sw = Not sw
End Sub
TIPP: Lernen Sie an dieser Stelle gleich den Umgang der Funktion IIf() um If-Strukturen vereinfacht darzustellen. Der Syntax lautet: IIf(Ausdruck,Wahr-Teil,Falsch-Teil). Wenn der Ausdruck wahr wird, kommt der Wahr-Teil zum Zuge, ansonsten der Falsch-Teil. Obige Funktion lässt sich somit wie folgt umschreiben:
Private Sub AlternateColor()
Const farbehell = 16777215
Const farbedunkel = -2147483633
Me.Detailbereich.BackColor = IIf(sw, farbehell, farbedunkel)
sw = Not sw
End Sub
Man sieht, der Code wird um einiges kürzer - aber auch ein wenig schlechter lesbar. Man kann IIF() auch nahezu beliebig verschachteln, indem man in den Falsch-Teil eine weitere IIF()-Funktion einfügt. Darauf sollte man aber um der Lesbarkeit des Codes willen besser verzichten.
Die IIF()-Funktion hat noch eine Tücke die man beachten sollte, wenn man beabsichtigt sie einzusetzen. Es werden immer der Wahr-Teil und der Falsch-Teil ausgewertet, egal ob nur der eine oder andere zum Zuge kommt. Daher sollte man darauf achten dass z.B. durch entstehende Null-Werte keine Fehler entstehen. Nachfolgend sehen Sie einen Berichtsausschnitt der mit dieser Funktion formatiert wurde:

Sie sehen, mit wenigen Codezeilen haben Sie nun eine komfortable Formatierungsmöglichkeit erstellt, die es Ihnen in einem tabellarischen Bericht ermöglicht die einzelnen Zeilen in unterschiedlicher Hintergrundfarbe darzustellen. Die beiden Farbwerte können Sie direkt aus dem Access entnehmen, oder eigene definieren.