Home > 即効テクニック > AccessVBA > フォーム・レポート > レポートの背景色を、1レコードごとに交互に色分けする

即効テクニック

フォーム・レポート

レポートの背景色を、1レコードごとに交互に色分けする

(Access 2000/2002/2003)
● 概要 ●
構文  expression.BackColor


設定項目        内容
expression	レポートの詳細セクションを指定[省略不可]

レポートの詳細セクションの、BackColorプロパティの値を変更することで、レコードの背景色を指定できます。
詳細セクションのFormatイベント、またはPrintイベントに、BackColorプロパティの値を指定して、背景色を判定する変数の値の真偽を入れ替えるプロシージャを作成します。
Formatイベント、Printイベントは、レコードを1件出力するたびに発生します。背景色の判定に使う変数は宣言セクションで宣言し、プロシージャが終了しても値が保持されるようにします。


● サンプル ●
Dim myFlagA As Boolean   ’←宣言セクション


Private Sub 詳細_Print(Cancel As Integer, FormatCount As Integer)
    '変数myFlagAがTrueなら、レコードの背景を白にする
    If myFlagA = True Then
        Report_03.詳細.BackColor = RGB(255, 255, 255)
    '変数myFlagAがFalseなら、レコードの背景色を灰色にする
    Else
        Report_03.詳細.BackColor = RGB(200, 200, 200)
    End If
    'myFlagAの値を、現在TrueならFalseに、現在FalseならTrueに更新する
    myFlagA = Not myFlagA
End Sub


● ポイント ●
Boolean(ブール)型の変数は、真(True(-1))または偽(False(0))のみを格納します。