Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2204 / 2272 ツリー ←次へ | 前へ→

【3424】レポートでグループ毎にページを表示 低血圧 04/9/6(月) 19:27 質問[未読]
【3428】Re:レポートでグループ毎にページを表示 Gin_II 04/9/7(火) 0:32 回答[未読]
【3436】Re:レポートでグループ毎にページを表示 低血圧 04/9/7(火) 10:55 発言[未読]
【3439】Re:レポートでグループ毎にページを表示 Gin_II 04/9/7(火) 11:35 回答[未読]
【3443】Re:レポートでグループ毎にページを表示 低血圧 04/9/7(火) 19:06 質問[未読]
【3472】Re:レポートでグループ毎にページを表示 安心 04/9/9(木) 14:54 発言[未読]

【3424】レポートでグループ毎にページを表示
質問  低血圧  - 04/9/6(月) 19:27 -

引用なし
パスワード
   はじめまして、いつも皆様の投稿で助けられております。

今回、どうしても手におえないのでご教授願います。

レポートでグループ毎に「1/5ページ」のように表示したいです。

総ページ数10枚として2グループなら
1/5、2/5、3/5、4/5、5/5、1/5、2/5、3/5、4/5、5/5 のように・・・。

マイクロソフトのページで以下のものを見つけ、試して見ました。

[AC97]レポートでグループ毎にPage/Pages形式のページ番号をつける方法
http://support.microsoft.com/default.aspx?scid=kb;ja;407754&Product=accJPN

フィールド名以外はコピー&ペーストで作りました。
また、私のVERは2000なので

Dim DB As Database
      ↓
Dim DB As DAO.Database

とすることは分かったのですが、その後も「型が一致しません」
というエラーが続いて出来ずにいます。
具体的には

Set GrpPages = DB.OpenRecordset("グループ別ページ", dbOpenTable)

の行で出てしまいます。cobolやpl/1を昔やっていた者で、VBAはみようみまねです。

どうかよろしくお願い致します。

【3428】Re:レポートでグループ毎にページを表示
回答  Gin_II  - 04/9/7(火) 0:32 -

引用なし
パスワード
   >Dim DB As Database
>      ↓
>Dim DB As DAO.Database
>
>とすることは分かったのですが、その後も「型が一致しません」
>というエラーが続いて出来ずにいます。

> Dim GrpPages As Recordset
ここも
Dim GrpPages As DAO.Recordset
にしてください。

【3436】Re:レポートでグループ毎にページを表示
発言  低血圧  - 04/9/7(火) 10:55 -

引用なし
パスワード
   ありがとうございます。
先に進みました。が、今度は

コンパイルエラー
Meキーワードの使用方法が不正です

と出ています。以下にその部分を載せます。

Public Function GetGrpPages()
   GrpPages.Seek "=", Me![グループ]
    If Not GrpPages.NoMatch Then
      GetGrpPages = Me.Page & "/" & GrpPages![ページ番号]
    End If
End Function

前回も書きましたがコピー&ペーストですし
多分記述が原因のエラーではないと思います。

レポートのページフッターに テキストボックスで =GetGrpPages()
と作っています。 この部分が#Errorと出ています。

テーブル名  グループ別ページ
フィールド名 グループ
       ページ番号
として作成しました。テーブルの中をみるとグループはきれいに全て
はいっています。グループ番号は全て1が入っています。

根本的に間違えているのでしょうか?

【3439】Re:レポートでグループ毎にページを表示
回答  Gin_II  - 04/9/7(火) 11:35 -

引用なし
パスワード
   >コンパイルエラー
>Meキーワードの使用方法が不正です

標準モジュールでは、Me は使えません。

Forms![フォーム名]![コントロール名]
のように、省略せずに記述してください。

【3443】Re:レポートでグループ毎にページを表示
質問  低血圧  - 04/9/7(火) 19:06 -

引用なし
パスワード
   クラスオブジェクトに記述しましたら動くようになりました。
が、なぜか全て1/1となってしまいます。
実際には1/5、2/5、3/5、4/5、5/5のようになるはずです。

テーブルを見るとページ番号が全て1でした。
レポートの作り方が悪いのでしょうか。

-----------ページヘッダー---------
-----------グループヘッダー-------
[グループ]
-----------詳細------------------
[お客様名][数量]など
-----------ぺージフッター---------
[=GetGrpPages()][=Page]

グループヘッダーでグループ化をしています。

【3472】Re:レポートでグループ毎にページを表示
発言  安心  - 04/9/9(木) 14:54 -

引用なし
パスワード
   私の場合,少し違うことで止まってしまったのですが,
そのときは,テンプレートとして,
ウィザードを使用して簡易的にレポートを作成して
それを真似たりコピーしたりしてました。

その後はラベルはCaption,テキストはControlSourceを
変更して可変にしている最中です。

一度テンプレートを作ってみてもよいかもしれません。

2204 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078299
(SS)C-BOARD v3.8 is Free