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

請求書を業者指定伝票に印刷するお手本データベース

 

5-1-1 請求書を業者指定伝票に印刷するサンプルデータベース

 

このサンプルデータベースは、請求書を業者が指定した専用伝票に印刷します。請求書には、受注コード別にアイテム明細が印刷されます。レポートのページヘッダーには、請求先、御請求額、ページ番号(受注コード別のカレントページと合計ページ)、受注コード、得意先コード、担当社員、締切日、出荷日、運送会社が印刷されます。御請求額は、先頭ページにのみ印字します。レポートの明細には、商品コード、商品名、数量、単価、割引、金額が印刷されます。ページフッターには、ページ番号、小計、消費税、合計が印刷されます。ページフッターの小計、消費税、合計は、最終ページにのみ印字します。サンプルデータベースのように、グループ(この例では受注コード)単位のページ番号(カレント/最終ページ番号)を取得すれば、レポートに印字される内容を自由に制御することができます。

 

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

 

◆ グループ単位のページ番号(カレント/最終ページ)を印字する方法

◆ レポートに配置されている複数のコントロールを一括して印字したり、印字を抑止する方法

◆ レポートのイベントシーケンスをトレースする方法

◆ 関数から複数の戻り値を返す方法(カレント/最終ページ)

◆ データベースにリンクされているテーブルが壊れていないか調べて、自動リンクする方法

◆ Windowsのコモンダイアログを表示する方法

 

● サンプルデータベースで使用するテーブルを準備するには

 

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

 

2 メニューから外部データの取り込みテーブルのリンクをクリックします。リンクのダイアログが表示されたら、Accessのサンプルデータベース Northwind.mdbを選択してリンクボタンをクリックします。(Northwind.mdbは、デフォルトでは”C:\Program Files\Microsoft Office\Office\Samples”にインストールされます。)

 

3 テーブルのリンクのダイアログが表示されたら、すべて選択のボタンをクリックします。最後にOKボタンをクリックしてリンクを完了させます。

 

5-1-2 Northwind.mdbの全てのテーブルをリンクさせる

 

4 テーブルをリンクしたらデータベースウィンドウにNorthwind.mdbの全てのテーブルが表示されているか確認して、Access を終了させます。

 

5-1-3 CH5-1.mdbのデータベースからNorthwind.mdbのテーブルにリンク

 

 

● レポートを印刷するメニューを作成するには

 

1 Access を起動したら作業フォルダに作成したCH5-1.mdbを開きます。

 

2 データベースウィンドウからフォームをクリックしたら、一覧からデザインビューでフォームを作成するをダブルクリックします。フォームのデザインビューが表示されたら、ツールボックスからコマンドボタンのアイコンをクリックしてフォーム中央に配置します。コマンドボタンのプロパティを表示させたら、コントロール名にcmdPrint、標題に“請求書印刷”を設定します。次に、ツールボックスからラベルのアイコンをクリックして、コマンドボタンの下に配置します。ラベルの標題には、表5-1-1に示すような説明を入力します。

 

5-1-1 フォームに作成したコントロールのプロパティ

コントロールの種類

プロパティ

コマンドボタン

名前

cmdPrint

標題

請求書印刷

ラベル

標題

 

請求書を業者指定伝票に印刷します。

 

・請求額を先頭ページに印字

・小計/消費税/合計を最終ページに印字

・用紙サイズは連続用紙 15 x 6 インチ を指定してください

背景色

14286847

立体表示

くぼみ

 

 

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

 

4 フォームをfrmInvoiceの名称で保存したら、Access を終了させます。

 

 

Sub Form_Open()イベントの処理

このイベントは、フォームを開いたときに実行されます。このイベントでは、basLinkedTablesモジュールに登録されているVerifyLinks_FS()関数を使用して得意先テーブルのリンクが壊れていないか調べて、壊れているとき再リンクします。リンクされているテーブルが壊れているときは、basWindowsCommonDialogモジュールに登録されているOpenFile_FS()関数を使用して、新しいリンク先のデータベースのフルパス名を取得します。VerifyLinks_FS()OpenFile_FS()関数の詳細は、CH5-1.mdbbasLinkedTablesbasWindowsCommonDialogを参照してください。

 

 

Sub cmdPrint_Click()イベントの処理

このイベントは、請求書印刷のコマンドボタンをクリックしたときに実行されます。このイベントでは、DoCmdOpenReportメソッドにレポート名を指定してプレビューモード(acViewPreview)で請求書を印刷します。

 

DoCmd.OpenReport "rptInvoice", acViewPreview

 

 

リスト5-1-1 frmInvoiceのフォームモジュール

Option Compare Database

Option Explicit

 

Private Sub cmdPrint_Click()

  DoCmd.OpenReport "rptInvoice", acViewPreview

End Sub

 

Private Sub Form_Open(Cancel As Integer)

  If Not VerifyLinks_FS("Northwind.mdb", "得意先") Then

    MsgBox "テーブルの再リンクに失敗しました!" & vbCrLf & _

      "Accessのリンクテーブルマネージャから" & _

      " Northwind.mdb を再リンクしてください.", _

      vbCritical + vbOKOnly

  End If

  Call SetAppTitle_FS("My Invoice (C) " _

    & Year(Date) & " by Akio Kasai")

 

End Sub

 

 

● 請求書を印刷するレポートを作成するには

 

1 Access を起動したら作業フォルダに作成したCH5-1.mdbを開きます。

 

2 データベースウィンドウからクエリをクリックしたら、一覧からデザインビューでクエリを作成するをダブルクリックします。テーブルの表示ダイアログが表示されたら閉じるのボタンをクリックして閉じます。メニューからSQLのアイコンをクリックしてSQLビューのウィンドウを表示させたら、リスト5-1-2を入力します。(入力データが多いのでのCH5-1.mdbからqryInvoiceをインポートしてもかまいません。)クエリをデザインビューに切り替えたら、図5-1-4のようになっているか確認します。クエリをqryInvoiceの名称で保存して閉じます。qryInvoiceでは、受注日の抽出条件にBetween #96/01/01# And #96/01/31#を設定して1996年1月1日~1996年1月31日までの受注データが表示されるようにしています。

 

リスト5-1-2 qryInvoiceSQLコマンド

SELECT DISTINCTROW 受注.得意先コード, 得意先.得意先名, 得意先.郵便番号, 得意先.都道府県,

得意先.住所1, 得意先.住所2, 社員.氏名, 受注.受注コード, 受注.受注日, 受注.締切日, 受注.出荷日,

運送会社.運送会社, 受注明細.商品コード, 商品.商品名, 受注明細.単価, 受注明細.数量, 受注明細.割引,

CCur([受注明細].[単価]*[数量]*(1-[割引])/100)*100 AS 明細金額, 受注.運送料

FROM 得意先 INNER JOIN (商品 INNER JOIN ((社員 INNER JOIN (運送会社 INNER JOIN 受注

ON 運送会社.運送コード = 受注.運送区分) ON 社員.社員コード = 受注.社員コード) INNER JOIN 受注明細

ON 受注.受注コード = 受注明細.受注コード) ON 商品.商品コード = 受注明細.商品コード)

ON 得意先.得意先コード = 受注.得意先コード

WHERE (((受注.受注日) Between #1/1/1996# And #1/31/1996#));

 

 

5-1-4 qryInvoiceをデザインビューで表示した例

 

3 データベースウィンドウからレポートをクリックしたら、新規作成ボタンをクリックします。レポートの新規作成ダイアログが表示されたら、リストボックスの一覧からデザインビューを選択します。基になるテーブル/クエリのコンボボックスからqryInvoiceを選択したらOKボタンをクリックします。レポートのデザインビューが表示されたら、並べ替え/グループ化のアイコンをクリックしてダイアログを表示させます。ダイアログのフィールド/式のコンボボックスをクリックして受注コードを選択します。グループプロパティのグループヘッダー/グループフッターを“はい”に設定します。その他のプロパティは、デフォルト値を採用します。2行目のフィールド/式のコンボボックスから商品コードをクリックします。グループプロパティは、デフォルト値を採用します。ダイアログの閉じるのボタンをクリックして、ダイアログを閉じます。

 

4 ツールボックスからイメージのアイコンをクリックしてページヘッダーの左上に貼り付けます。図の挿入のダイアログが表示されたら、CH5-1のフォルダからLogo.tifを選択して会社ロゴを埋め込みます。イメージのサイズを調整してロゴ全体が表示されるようにします。ツールボックスからラベルのアイコンをクリックしてイメージの右に配置したら、“請求書”を入力します。ラベルのプロパティを表示させたら、フォントサイズを20、フォントの太さを太字に設定します。ツールボックスから直線のアイコンをクリックしたら、会社ロゴの下に配置します。直線のプロパティを表示させたら、境界線幅を2ポイントに設定します。ツールボックスからラベルのアイコンをクリックして直線の下に配置したら、Office Supply Co.の住所を入力します。

 

340-0199 埼玉県幸手市1-2-3

TEL: (0480)40-13xx   FAX: (0480)40-13xx

 

ツールボックスからテキストボックスのアイコンをクリックしたら、直線の右下に配置します。テキストボックスのプロパティを表示させたら、コントロールソースに=Format(Date(),"日付 (L)")を埋め込みます。

 

5 ツールボックスからテキストボックスのアイコンをクリックして、得意先名、郵便番号、住所1、住所2のテキストボックスを作成します。得意先名のコントロールソースには、得意先テーブルのフィールド名“得意先名”を設定して連結させます。郵便番号のコントロールソースには、=" " & [郵便番号]を埋め込みます。住所1のコントロールソースには、=IIf([都道府県] Is Null," " & [住所1],[都道府県] & " " & [住所1])を埋め込みます。住所2のコントロールソースには、得意先テーブルのフィールド名“住所2”を設定して連結させます。

 

ツールボックスからテキストボックスのアイコンをクリックして、御請求額のテキストボックスを作成します。テキストボックスのプロパティを表示させて、コントロール名に“txtPrg請求額”を設定します。グループ別のページ番号を表示するテキストボックスを作成したら、プロパティを表示させてコントロール名に、“txtPrgGroupPages”を設定します。

 

6 図5-1-6の請求書ヘッダー部の分解図を参考にしてレポートのヘッダー部を作成します。メニューからフィールドリストのアイコンをクリックして、qryInvoiceのフィールドリストを表示させます。フィールドリストから受注コードをドラッグしてページヘッダーに配置します。ラベルのプロパティを表示させたら、前景色に16777215(白)を設定します。同様の手順で、フィールドリストから、得意先コード、氏名(担当社員)、受注日、締切日、出荷日、運送会社をドラッグしてレポートに配置します。ラベルのプロパティを表示させたら、前景色16777215(白)に設定します。

 

ツールボックスから四角形のアイコンをクリックしたら、請求書のヘッダー部を囲みます。四角形のプロパティを表示させたら、背景スタイルを透明に設定します。ツールボックスから直線のアイコンをクリックしたら、受注コードと得意先コードの間に垂直線を引きます。同様の手順でフィールドの境界に垂直線を引きます。ツールボックスから四角形のアイコンをクリックしたら、四角形のラベルの部分と同じサイズの四角形を作成してラベル部分に重ねます。四角形のプロパティを表示させたら、背景色に8388608(濃青)を設定します。

 

7 請求書のヘッダーを作成したら、請求書の明細行を作成します。ツールボックスからテキストボックスのアイコンをクリックしたら、レポートの詳細に配置します。ラベルの標題に“商品コード”を設定します。テキストボックスのプロパティを表示させたら、データコントロールをクリックしてコンボボックスから商品コードを選択します。ラベルをクリックしたら、マウスの右ボタンをクリックしてショートカットメニューを表示させて切り取って、ページヘッダーに貼り付けます。ラベルを商品コードのテキストボックスの上に移動します。メニューからフィールドリストのアイコンをクリックしてqryInvoiceのフィールドリストを表示させます。フィールドリストから、商品名をドラッグしたら詳細の商品コードの右にドラッグします。ラベルの標題に“商品名”、前景色に16777215(白)を設定します。ラベルをページヘッダーに移動したら、商品名のテキストボックスの上に配置します。同様の手順で、フィールドリストから数量、単価、割引、明細金額をドラッグしてレポートに配置します。ツールボックスから四角形のアイコンをクリックしたら、ページヘッダーに配置して明細行のラベルを囲みます。四角形のプロパティを表示させたら、背景色に8388608(濃青)を設定します。

 

8 グループの受注コードフッターに明細金額の小計を集計するテキストボックスと、消費税を計算するテキストボックスを作成します。ツールボックスからテキストボックスのアイコンをクリックしたら、受注コードフッターに配置します。ラベルは不要ですから削除します。テキストボックスのプロパティを表示させたら、コントロール名にtxtGrp小計を設定します。コントロールソースに、=Sum([明細金額])を埋め込んだら可視プロパティを“いいえ”に設定します。同様の手順で消費税のテキストボックスを配置したらプロパティを表示させて、コントロール名にtxtGrp消費税を設定します。コントロールソースに、=[txtGrp小計]*0.05を埋め込んだら可視プロパティを“いいえ”に設定します。受注コードフッターに配置した、明細金額小計と消費税のテキストボックスは、ページフッターで小計、消費税、合計を印字するときに使用します。

 

9 最後に、ページフッターにレポートのページ番号と小計、消費税、合計のテキストボックスを作成します。小計、消費税、合計欄は、請求書の最終ページにのみ印字しますので、タブコントロール上に配置して最終ページ以外には印字されないように制御します。ツールボックスからテキストボックスのアイコンをクリックしたら、ページフッターの左に配置します。プロパティを表示させたら、コントロールソースに=[Page] & "/" & [Pages]を埋め込みます。ツールボックスからタブコントロールのアイコンをクリックしたら、ページフッターの右側に配置します。デフォルトで2ページ分のタブが作成されますので1ページ削除します。タブコントロールのプロパティを表示させたら、コントロール名にtabPageFooterを設定します。更に、背景スタイルを“透明”、スタイルを“なし”に設定します。これで、タブコントロールが四角形のようなコントロールに変身します。このタブコントロールは、合計欄に印刷される小計、消費税、合計を一括して印刷したり、印刷を抑止するのに利用します。ツールボックスからテキストボックスのアイコンをクリックしたら、タブコントロールに配置します。ラベルの標題に、“小計:”を設定します。テキストボックスのコントロールソースに=[txtGrp小計]を埋め込みます。消費税のテキストボックスを配置したら、ラベルの標題に“消費税:”を設定します。テキストボックスのコントロールソースに=[txtGrp消費税]を埋め込みます。合計のテキストボックスを配置したら、ラベルの標題に“合計:”を設定します。テキストボックスのコントロールソースに=[txtPrg小計]+[txtPrg消費税]を埋め込みます。

 

5-1-2 レポートに配置したコントロールのプロパティ

コントロールの種類

プロパティ

イメージ

ピクチャ

CH5-1のフォルダにあるLogo.tifファイル

 

ピクチャタイプ

埋め込み

OLEサイズ

クリップ

ピクチャ位置

中央

ラベル

標題

請求書

フォントサイズ

20

フォント太さ

太字

直線(水平線)

境界線幅

2ポイント

ラベル(住所)

標題

340-0199 埼玉県幸手市1-2-3

TEL: (0480)40-13xx   FAX: (0480)40-13xx

テキストボックス(日付)

コントロールソース

=Format(Date(),"日付 (L)")

テキストボックス(得意先名)

コントロールソース

得意先名

テキストボックス(郵便番号)

コントロールソース

=" " & [郵便番号]

テキストボックス(住所1)

コントロールソース

=IIf([都道府県] Is Null," " & [住所1],[都道府県] & " " & [住所1])

テキストボックス(住所2)

コントロールソース)

住所2

テキストボックス(御請求額)

名前

txtPrg請求額

テキストボックス(グループ単位のページの番号)

名前

txtPrgGroupPages

ラベル/テキストボックス

標題

受注コード

前景色(ラベル)

16777215

コントロールソース

受注コード

ラベル/テキストボックス

標題

得意先コード

前景色(ラベル)

16777215

コントロールソース

得意先コード

ラベル/テキストボックス

標題

担当社員

前景色(ラベル)

16777215

コントロールソース

氏名

ラベル/テキストボックス

標題

受注日

前景色(ラベル)

16777215

コントロールソース

受注日

ラベル/テキストボックス

コントロールソース

締切日

前景色(ラベル)

16777215

コントロールソース

締切日

ラベル/テキストボックス

標題

出荷日

前景色(ラベル)

16777215

コントロールソース

出荷日

ラベル/テキストボックス

標題

運送会社

前景色(ラベル)

16777215

コントロールソース

運送会社

四角形(背景色用)

名前

boxBackgroundBox1

 

背景色

8388608

四角形(罫線用)

名前

baxBackgroundBox2

背景スタイル

透明

直線(垂直線)

境界線色

8388608

ラベル/テキストボックス

標題

商品コード

前景色(ラベル)

8388608

コントロールソース

商品コード

ラベル/テキストボックス

標題

商品名

前景色(ラベル)

8388608

コントロールソース

商品名

ラベル/テキストボックス

標題

数量

前景色(ラベル)

8388608

コントロールソース

数量

ラベル/テキストボックス

標題

単価

前景色(ラベル)

8388608

コントロールソース

単価

ラベル/テキストボックス

標題

割引

前景色(ラベル)

8388608

コントロールソース

割引

ラベル/テキストボックス

標題

明細金額

前景色(ラベル)

8388608

コントロールソース

明細金額

四角形(背景色用)

名前

boxBackgroundBox3

背景色

8388608

テキストボックス

名前

txtGrp小計

コントロールソース

=Sum([明細金額])

可視

いいえ

テキストボックス

名前

txtGrp消費税

コントロールソース

=[txtGrp小計]*0.05

可視

いいえ

テキストボックス

名前

txtPrgTotalPages

コントロールソース

=[Page] & "/" & [Pages]

タブコントロール

名前

tabPageFooter

背景スタイル

透明

スタイル

なし

ラベル/テキストボックス

標題

小計:

名前

txtPrg小計

コントロールソース

=[txtGrp小計]

ラベル/テキストボックス

標題

消費税:

名前

txtPrg消費税

コントロールソース

=[txtGrp消費税]

ラベル/テキストボックス

標題

合計:

名前

txtPrg合計

コントロールソース

=[txtPrg小計]+[txtPrg消費税]

ページヘッダー

名前

PageHeader

ページフッター

名前

PageFooter

 

 

5-1-5 請求書を印刷するレポートのレイアウト

 

5-1-6 請求書ヘッダー部の分解図

 

10 レポートのページヘッダー/ページフッターのプロパティを表示させたら、コントロール名にPageHeader/PageFooterを設定します。メニューからコードのアイコンをクリックしてレポートモジュールを表示させます。CH5-1.mdbを開いたら、rptInvoiceのレポートモジュールをコピーして貼り付けます。レポートモジュールのリストは、リスト5-1-2を参照してください。メニューから印刷プレビューのアイコンをクリックしてレポートをプレビューします。ページの移動ボタンをクリックして請求書のページ番号が請求書単位に印字されるか確認します。まは、御請求額は、先頭ページにのみ印字されることも確認します。合計欄は、請求書の最終ページにのみ印字されることも確認します。

 

11 請求書が正常に印刷されることが確認できたら、レポートをrptInvoiceの名称で保存して、Access を終了します。

 

 

Sub PageHeader_Format()イベントの処理

このイベントは、レポートのページヘッダーをフォーマットするときに実行されます。尚、レポートのPagesプロパティを使用しているときは、合計ページ数を計算するためこのイベントには2回制御が渡ります。1回目のパスのときは、Pagesプロパティに0が設定されています。2回目のパスのときは、Pagesプロパティに合計ページ数が設定されています。PageHeader/PageFooterのイベントシーケンスについては、後述するTipを参照してください。

 

このイベントでは、GroupPages_FS()関数を使用してグループ単位(受注コード)のカレントページ番号と合計ページ数を取得してモジュールレベルのメモリ変数mintPagemintPagesに保存します。

 

  With GroupPages_FS(Me, "受注コード")

    mintPage = .Page

    mintPages = .Pages

  End With

 

GroupPages_FS()関数の返り値には、Typeステートメントで定義した構造体が返されます。

 

Public Type GPage

   Page As Integer

   Pages As Integer

End Type

 

GroupPages_FS()関数で取得したページ番号をページヘッダーに配置されているテキストボックスに n/nnnの形式にて格納します。また、カレントページ番号を調べて、1ページ目なら請求額のテキストボックスに請求額を設定します。1ページ目以外なら、”*******”を設定します。

 

  With Me

    .txtPrgGroupPages = mintPage & "/" & mintPages

    If mintPage = 1 Then

      .txtPrg請求額 = .txtGrp小計 + .txtGrp消費税

    Else

      .txtPrg請求額 = "**********"

    End If

  End With

 

 

Sub PageFooter_Format()イベントの処理

このイベントは、ページフッターをフォーマットするときに実行されます。このイベントでは、カレントページ番号と最終ページ番号を比較して、ページフッターに配置されている合計欄を印字すべきかどうか制御します。カレントページ番号が最終ページ番号のときは、タブコントロールの可視(Visible)プロパティをTrueに設定して合計欄を印字します。カレントページ番号が最終ページ番号以外のときは、可視プロパティにFalseを設定して合計欄の印字を抑止します。

 

  Me.tabPageFooter.Visible = IIf(mintPage = mintPages, True, False)

 

 

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

Option Compare Database

Option Explicit

 

Dim mintPage As Integer

Dim mintPages As Integer

 

Private Sub PageFooter_Format( _

  Cancel As Integer, FormatCount As Integer)

  Me.tabPageFooter.Visible = _

    IIf(mintPage = mintPages, True, False)

End Sub

 

Private Sub PageHeader_Format( _

  Cancel As Integer, FormatCount As Integer)

 

  With GroupPages_FS(Me, "受注コード")

    mintPage = .Page

    mintPages = .Pages

  End With

 

  With Me

    .txtPrgGroupPages = mintPage & "/" & mintPages

    If mintPage = 1 Then

      .txtPrg請求額 = .txtGrp小計 + .txtGrp消費税

    Else

      .txtPrg請求額 = "**********"

    End If

  End With

 

End Sub

 

 

GroupPages_FS()関数

この関数は、引数で指定されたグループのカレントページと合計ページを計算して返します。この関数では、レポートのPagesプロパティを参照して1回目のパスなら、配列変数にカレントページと合計ページ数を格納します。2回目のパスのときは、配列変数からカレントページと合計ページ数を取得して返します。

 

mavarGrpArrayPage()の内容

2

3

mavarGrpArrayPages()の内容

3

3

3

 

リスト5-1-3 GroupPages_FS()関数

Option Compare Database

Option Explicit

 

Public Type GPage

   Page As Integer

   Pages As Integer

End Type

 

Dim mavarGrpArrayPage() As Variant

Dim mavarGrpArrayPages() As Variant

Dim mvarGrpNameCurrent As Variant

Dim mvarGrpNamePrevious As Variant

Dim mintGrpPage As Integer

Dim mintGrpPages As Integer

 

Public Function GroupPages_FS( _

  rpt As Report, strControlName As String) As GPage

  Dim intI As Integer

 

  With rpt

    ' 2nd Pass

    If .Pages <> 0 Then

      intI = .Page

      With GroupPages_FS

        .Page = mavarGrpArrayPage(intI)

        .Pages = mavarGrpArrayPages(intI)

      End With

      Exit Function

    End If

 

    ' 1st Pass

    ReDim Preserve mavarGrpArrayPage(.Page + 1)

    ReDim Preserve mavarGrpArrayPages(.Page + 1)

    mvarGrpNameCurrent = rpt(strControlName).Value

    If mvarGrpNameCurrent = mvarGrpNamePrevious Then

      mavarGrpArrayPage(.Page) = mavarGrpArrayPage(.Page - 1) + 1

      mintGrpPages = mavarGrpArrayPage(.Page)

      For intI = .Page - ((mintGrpPages) - 1) To .Page

        mavarGrpArrayPages(intI) = mintGrpPages

      Next intI

    Else

      mintGrpPage = 1

      mavarGrpArrayPage(.Page) = mintGrpPage

      mavarGrpArrayPages(.Page) = mintGrpPage

    End If

    mvarGrpNamePrevious = mvarGrpNameCurrent

  End With

 

  With GroupPages_FS

    .Page = 0

    .Pages = 0

  End With

 

End Function

   

 

 

Tip

レポートのイベントシーケンスをトレースするには:

 

サンプルデータベースツール編で紹介する、レポートのイベントを表示するサンプルデータベース CH7-1.mdbを使用すると、レポートのイベントをトレースすることができます。

 

Accessを起動して、CH7-1.mdbを開くとスクリーンの右側にイベントログを表示するフォームが表示されます。フォームの下位に各種イベントを制御するチェックボックスがありますので、Page Header/Footerのみチェックしてその他のイベントは表示されないようにします。Clear èStartèOpenの順にコマンドボタンをクリックすると、レポートのイベントが発生順に表示されます。1回目のパスでは、合計ページ数が未定のためPagesプロパティに0が設定されています。2回目のパスでは、Pagesプロパティに4が設定されています。GroupPages_FS()関数は、Page/Pagesプロパティを参照してグループ別のカレントページと合計ページ数を計算しています。

 

 

 

 

 

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