![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access2000 TOP <サイト内検索 | ![]() |
|
![]() |
||
MS-Access97大魔法陳列棚>しましまレポート |
【仕 様 な ど】MS-Access97で作成。Windows95でのみ動作確認。
【ダウンロード】←Zip形式
(解凍後、mdb初期状態:およそ192KB)
【主 な 機 能】
表形式のレポートの背景色を一行ずつ色を変える関数と、そのレポートのサンプルです。
【作 り 方 等】
適当に、表形式のレポートをひとつ作ります。
そのレポートの、詳細セクション部分の背景色を、偶数行と奇数行で変更する関数を作ります。
あらかじめ、好きな色のコードを調べておくとよいでしょう。
画面表示を何色にしているかにも寄りますが、色は数値で表現されています。ためしに適当なテキストボックスの背景色を変えてみて、プロパティの「背景色」欄にどんな数値が入るか確認しておくとよいでしょう。私は256色で使ってます。
いくつか挙げてみますと
色 コード 色 コード ちょっと濃いめの水色 16764057 うんと薄い水色 16777164 ハデな黄色 65535 ハデなピンク 16711935 濃いハデな青 16737843 真っ赤 255 スタンダードなグレー 12632256 濃いめのグレー 9868950 黒 0 白 16777215 ハデな緑 65280 渋い緑 32768 陽気なオレンジ 39423 紫 16751052
段取りとしては以下の通りです。
レポートのページヘッダーが印刷されるときに、変数をゼロにしておきます。
レポートの詳細セクションが印刷されるとき、変数に1を足します。足した数を割ってみて、偶数か奇数か判断し、偶数の場合とそうでない場合に、違う色をセクションの背景色プロパティに代入します。
以下にクラスモジュールのサンプルを記します。
Option Compare Database '宣言セクション
Dim LCount As Integer'これから、LCountという変数を使います、と宣言しておきます。
Option Explicit
Private Sub ページヘッダー_Print(Cancel As
Integer, PrintCount As Integer)
LCount = 0 '<-----行数を数えるための変数をゼロにしておきます。
End Sub
Private Sub 詳細_Print(Cancel As Integer,
PrintCount As Integer)
LCount = LCount + 1
If LCount Mod 2 = 0 Then 'LCountを2で割った時、余りがゼロかどうか判断します。
Me.Section(0).BackColor = 16777215 '詳細セクションのプロパティ「背景色」に白を代入します。
Else
Me.Section(0).BackColor = 13434828 '同じく「背景色」に薄い緑色を代入します。
End If
End Sub
緑色の文字部分はコメントです。
色はお好きな色に変更してみてください。
私はシロクロのプリンタしか持ってなくて、こんな細かい色指定の印刷物はプレビュー止まりなんで、イメージどおりの色が印刷されるのかどうか、いまひとつ自信ないんです。もし、全然変な色が印刷されてきたりしたら・・・スミマセン。
![]() |