Home > 即効テクニック > AccessVBA > フォーム・レポート > レコードごとに太線を引く

即効テクニック

フォーム・レポート

レコードごとに太線を引く

(Access 2000/2002/2003)
● 概要 ●
構文  expression.Line(Step(x1, y1)-Step(x2, y2), color, B/F)


設定項目        内容
expression	Reportオブジェクト[省略可能]
Step		対象となるオブジェクトのCurrentX/CurrentYプロパティの値を基	
		準として線の始点の座標値を指定する場合に記述するキーワード	
		[省略可能]
x1		線の始点のx座標を指定[省略不可]
y1		線の始点のy座標を指定[省略不可]
Step		線の始点の座標値を基準として終点の座標値を指定する場合に記述
		するキーワード[省略可能]
x2		線の終点のx座標を指定[省略不可]
y2		線の終点のy座標を指定[省略不可]
color		線の色を指定[省略可能]
B/F		長方形とするか、内側を塗りつぶすかをB/Fオプションで指定
		[省略可能]


レポートの詳細セクションのPrintイベントで、Lineメソッドを使用して、レコード間に太いラインを引きます。
Stepを省略すると、セクションの左上端を始点/終点の基準位置とします。
引数<x1>、<y1>に線の始点の座標、<x2>、<y2>に線の終点の座標を指定します。引数<y1>と引数<y2>の値の差が、ラインの太さとなります。
数式で指定する場合の単位はtwipです。

引数<color>に線の色を指定します。太線を引く場合は、引数<B/F>にBFと指定します。
Bは、始点と終点を基準に長方形を線画するオプションです。Fは長方形の中を塗りつぶすオプションです。数<B/F>にBのみを指定すると、始点と終点を基準に白抜きの長方形を線画します。BFと指定すると、長方形の中を枠と同じ色で塗りつぶします。Bだけを指定することはできますが、Fは必ずBとともに指定します。
なお、引数<B/F>を省略すると、引数<x1>、<y1>、<x2>、<y2>で指定した始点から終点へ、引数<color>で指定した色で、斜線を引きます。


● サンプル ●
'レコードごとに太線を引く
Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
    '線の始点、終点のx座標、y座標を代入する変数を宣言
    Dim myStartX As Variant
    Dim myStartY As Variant
    Dim myEndX As Variant
    Dim myEndY As Variant
    '始点のx座標を指定
    myStartX = 0
    '始点のy座標を指定
    myStartY = Report_14.Section(acDetail).Height - 100
    '終点のx座標を指定
    myEndX = Report_14.Width
    '終点のy座標を指定
    myEndY = Report_14.Section(acDetail).Height
    '線の位置を指定、色はオレンジ色、長方形として塗りつぶす、と指定
    Line (myStartX, myStartY)-(myEndX, myEndY), RGB(250, 150, 50), BF
End Sub


● 補足 ●
1理論cm=567twipです。1理論cmとは、画面上で1cmではなく、印刷したときに1cmになる長さのことです。
AccessVBAでは、twipを長さの基本単位としていますが、ScaleModeプロパティの値を変更すると、長さの基本単位をcm単位、インチ単位、ピクセル単位などに変更することができます。