Accessお手本データベースのホームへ戻る

レポートの任意の位置に楕円を描写するお手本データベース

 

5-5-1 テキストボックスに楕円を描写した例

 

このサンプルデータベースは、テキストボックスに表示されている順位に楕円を描写します。レポートのCircleメソッドを使用すると、レポートの任意の位置に円、楕円または円弧を描写することができます。また、描写した円を指定した色で塗りつぶすこともできます。

 

サンプルデータベース(CH5-5.mdb)では、以下のノウハウを習得することができます。

 

◆ レポートの任意の位置に円、楕円、円弧を描写する方法

◆ 円を指定した色で塗つぶす方法

◆ 印刷時、ダイナミックに表を描写する方法

 

  レポートに楕円を描写するサンプルデータベースを作成するには

 

1 Access を起動したら作業フォルダに、新規データベース CH5-5.mdbを作成します。

 

2 データベースウィンドウからレポートをクリックしたら、一覧からデザインビューでレポートを作成するをダブルクリックします。レポートのデザインビューが表示されたら、ツールボックスからラベルのアイコンをクリックしてページヘッダーに配置します。ラベルの標題には、“Print Circle”を入力します。

 

3 メニューから表示をクリックしてサブメニューを表示させたらグリッドをクリックして1cm間隔のグリッドを表示します。ツールボックスからテキストボックスのアイコンをクリックしたら、詳細に配置します。テキストボックスのプロパティを表示させたら、左位置cm、上位置0.4cm、幅2cm、高さ0.8cmに設定します。コントロールソースには、=”1を設定します。テキストボックスをコピーしたら、1cm間隔で4個のテキストボックスを貼り付けます。テキストボックスのコントロールソースには、=”2”,=”3”,=”4”,=”5を設定します。

 

5-5-2 レポートの詳細に5個のテキストボックスを配置した例

 

4 メニューからコードのアイコンをクリックしてレポートモジュールを表示させます。CH5-5.mdbを開いたら、rptCircleのレポートモジュールをコピーして貼り付けます。レポートモジュールのソースコードは、リスト2-5-1を参照してください。また、CH5-5.mdbを開いたら、モジュールbasMyLibをインポートしておいてください。

 

5 レポートをrptCircleの名称で保存したら、メニューから印刷プレビューのアイコン(Icon印刷プレビュー.tif)をクリックして確認します。1位、3位、4位、5位のテキストボックスに楕円が描写されているか確認します。また、3位の楕円は、淡い黄色、4位の楕円は赤色、5位の楕円は、水色で塗つぶされているか確認します。

 

5-5-3 テキストボックスの順位に楕円を描写して印刷した例

 

6 レポートに楕円が表示されることを確認したら、Access を終了させます。

 

 

Sub 詳細_Print()イベントの処理

このイベントは、詳細の印刷時に実行されます。このイベントでは、レポートのCircleメソッドを使用して4個の楕円を描写しています。テキストボックス上に楕円を描写するには、Circleメソッドの引数として楕円の中心の座標位置(x,y)、楕円の半径(Radius)そして円の縦横比(Aspect)を指定します。尚、座標軸はTWIPの単位で指定します。1cmは、567TWIPSに相当します。

 

           sngX = 2 * TWIP

               sngY = .ScaleHeight / 2

               sngRadius = .ScaleHeight / 2

               Me.Circle (sngX, sngY), sngRadius, , , , 0.8

 

楕円を塗つぶすには、FillStyleプロパティにを設定して、FillColorプロパティにカラー値を設定します。カラー値は、RGB()関数を使用する方法と、直接カラー値を設定する方法があります。

 

               .FillStyle = 0

.FillColor = RGB(255, 0, 0)

.FillColor = 14548991

 

 

リスト5-5-1 rptCircleのレポートモジュール

Option Compare Database

Option Explicit

 

Private Sub 詳細_Print(Cancel As Integer, FormatCount As Integer)

  Const TWIP = 567   ' tiwps per cm

  Dim sngX As Single

  Dim sngY As Single

  Dim sngRadius As Single

 

  With Me

    sngX = 2 * TWIP

    sngY = .ScaleHeight / 2

    sngRadius = .ScaleHeight / 2

    Me.Circle (sngX, sngY), sngRadius, , , , 0.8     

    

    sngX = 8 * TWIP

    .FillColor = 14548991

    .FillStyle = 0

    Me.Circle (sngX, sngY), sngRadius, , , , 0.8

   

    sngX = 11 * TWIP

    .FillColor = RGB(255, 0, 0)

    Me.Circle (sngX, sngY), sngRadius, , , , 0.8

   

    sngX = 14 * TWIP

    .FillColor = RGB(0, 200, 200)

    Me.Circle (sngX, sngY), sngRadius, , , , 0.8

  End With

 

End Sub

 

ダウンロード (CH5-5.lzh)
Accessお手本データベースのホームへ戻る