- ベストアンサー
ACCESS レポートでグループごとのページ数表示
ACCESS2000で、レポートにページ数を表示させたいのですが、現在グループごとの改ページを設定してまして、設定したグループごとのページの総数と現在のページ数を表示させたいのですが、可能でしょうか? イメージとしては、下記のとおりです。 1ページ目 グループ1 (1/2) 2ページ目 グループ1 (2/2) 3ページ目 グループ2 (1/1) 4ページ目 グループ3 (1/3) 5ページ目 グループ3 (2/3) ・ ・ ・ ・ お手すきの方がおられましたら、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBAを使わないとちょっと難しいですね。 ロジックとしては。 レポートのクラスモジュールでグループ毎の総数とページ番号の変数を定義 dim page_count as long dim page_max as long グループヘッダのフォーマット時にそのグループ名でレコード件数を取得、1ページの最大件数で割る。 余りが有ったら割った数字に1を足す。 余りが無かったらその数字がグループ単位の総ページ数 ページ数に0をセット Private Sub グループヘッダー0_Format(Cancel As Integer, FormatCount As Integer) dim rec_count as long rec_count = DCount(expr, domain[, criteria]) if (rec_count mod 1ページの明細数) = 0 then page_max = rec_count / 1ページの明細数 else page_max = (rec_count / 1ページの明細数) + 1 end if page_count = 0 End Sub ページフッタ時にページ番号に1を足して総ページとともに編集して出力。 Private Sub ページフッターセクション_Format(Cancel As Integer, FormatCount As Integer) page_count = page_count + 1 me.コントロール名 = page_count & "/" & page_max End Sub こんな感じでしょうか。データが無いときやその他必要な処理は書き足してくださいね。 あとDcount関数はHelpからコピぺしただけですのでVBAのHelpを参照してください。
その他の回答 (1)
- harumimi
- ベストアンサー率46% (51/109)
マイクロソフトのサポート情報にも方法がありますので、そちらも参考にされてはいかがでしょうか? Access97になってますが2000でも大丈夫なはずです。