--------------------------------------------
グループヘッダ
[取引先名]-[郵便番号]-[住所]-[電話]-[メール]
--------------------------------------------
詳細1
[入金伝票レポート(サブレポート、一覧表)]
詳細2
[納品伝票レポート(サブレポート、一覧表)]
---------------------------------------------
以上のようなスタイルで、取引先別の入金と納品の一覧を作成しようと思います。
困っているのは、詳細部分のレコード数が増えて、複数ページにわたる場合、詳細部分の入金伝票、納品伝票の見出しが、次ページ以降印刷されないということです。
このように、サブレポートが複数あり、複数ページにわたる印刷をする場合、現在、印刷されているサブレポート(一覧表)に対応した見出しを印刷するにはどうしたらいいのでしょうか?
Access2000/XP
Win2000/XPです。
No.1ベストアンサー
- 回答日時:
サブレポート側にページヘッダー、ページフッタがありますが、そこに指定しても無理だったと思います。
(ACCESS2000では)行の少ない(改ページする可能性が小さい方)をサブレポートとして最初に設定し、行の多い方をメインに取り込んで、改ページしてもいいように、メインのページヘッダーに見出しを設定してはどうでしょう。
--------------------------------------------
ページヘッダー
[取引先名]-[郵便番号]-[住所]-[電話]-[メール]
納品伝票の見出し(最初のページまで出ます)
--------------------------------------------
グループヘッダー
[入金伝票レポート(サブレポート、一覧表、ページヘッダに入金伝票の見出しを設定)]
納品伝票の見出し
--------------------------------------------
詳細
[納品伝票レポート(一覧表)]
---------------------------------------------
ただ、この方法だと、取引先ごとの最初の1ページ目にも納品伝票の見出しが出てしまいます。
VBAをうまく組めば、取引先ごとの最初の1ページ目だけページヘッダーの納品伝票の見出し部分の可視を「いいえ」にできると思います。
いかがでしょうか。
この回答への補足
ページヘッダというのはあくまでもメインレポートのページヘッダであり、サブの方は無効になってしまうんですね。
となると、VBAで可視/不可視を設定しないとダメですか。
今回、レポートが複数にまたがる可能性の少ないサブレポートを先にもってくるというアドバイスをいただいていますが、できれば、どちらも複数ページにまたがることを前提としてできると助かります。
となると、改ページ時に現在、どちらのサブレポートを印刷しているのかを取得しないといけなくなります。この場合、どのいタイミングでどの値が取得可能でしょうか?
よろしくお願いします。
No.3
- 回答日時:
相当複雑な帳票のようですね。
。。(あとのメンテナンスがタイヘンそう)グループを得意先CDだけでなく、
得意先CD、得意先名、得意先住所。。。(同じだけど)と出力順を指定して、それぞれグループヘッダーとフッターありにすれば、いくつでも、使えますけど。。。(理論上はね)(うまく動くかなー)
ただ、サブレポートをたくさん使うと、死にたくなるほど処理が遅いですよ。件数多いと累乗に遅くなります。得意先300件で半日かかりで印刷、なんてこともありました。(いいプリンタに買い換えると早くなりました)
ユニオンクエリーに(または、テーブルに出力)して、区分により印刷する項目を変えるほうが早い可能性もあります。(でも、ユニオンクエリーもこれまた遅い。。。)
プリンタオブジェクトで記述できるなら、複雑なことしないほうがいいかもしれませんよ。
この回答への補足
>相当複雑な帳票のようですね。。。
どうなんでしょうか。。
今のところレコードソースが取引先テーブル、入金テーブル、納品テーブルの3つで、それを1ヶ月ごとに、取引先ごとに印刷したいと思っているわけで、一般的な感じもするんですが。。。
実は、プリンタオブジェクトで作成したもの(入金テーブルはページをまたがないことを前提)が現在あるのですが、作り替えが憂鬱でACCESSに頼ろうと思いました。
OCXでCristal ReportやActive Reportsがありますが、そっちで簡単にできるなら、ちょっと、検討してもいいかと考えています。
>グループを得意先CDだけでなく、
>得意先CD、得意先名、得意先住所。。。(同じだけど)と出力順を指定して、
そうでしたね。
それも試してみたいと思います。
ただ、ACCESSのファイル(レポート)って壊れやすくないですかね?あれこれやっておかしいと思って、元に戻したつもりが、それでも元通り動かないってのを何度か経験しました。
No.2
- 回答日時:
うーん。
どうでしょうか、うまくいくでしょうか。私の案にプラスして、
1)グループヘッダー時に、入金伝票フラグを上げ、納品伝票フラグを下げる
詳細時(入金伝票は終わっているので)入金伝票フラグを下げ、納品伝票フラグを上げる。
改ページ印刷時に、フラグが上がっている伝票見出しを印刷する。
ということが、ACCESSがきっちりと判断できるなら可能かもしれません。(すみません、そこまでしたことありません)
さもなければ、
2)先に入金伝票の行数を数え、1定数以上ある得意先は取り分けておいて、別プログラムで出力する、方法もありますが、
出力順が変わってしまうので、おすすめできませんね。。。
あとは
3)先に入金伝票の行数を数え、一定数以上ある得意先は「詳細別紙」として入金伝票部分だけを印刷しない。(出力順は変わらない)
ただし、別プログラムで入金伝票の部分だけを印刷して、元の得意先の印刷物の中に手作業で差し込んでいく。(まあ、封筒に詰めるときに気をつければどうにかなるかもしれませんが、ミスの可能性がありますね。)
力不足でごめんなさい。なにかのヒントになればよいのですが。
グループヘッダとグループ詳細にサブレポートを配置し、それぞれのイベントでフラグ操作することによりページヘッダの切り替えは可能な感じです。ただ、最大、グループヘッダ、グループ詳細、グループフッタの3カ所しか利用できないので、サブレポートも最大3までの感じです。
それ以上の場合は、あきらめて、プリンターオブジェクトでシコシコ書こうと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- 事務・総務 郵便払込取扱票への記入揺れ 1 2022/03/26 22:54
- ノートパソコン ページ番号の入れ方について 3 2023/02/16 17:11
- 年賀状作成・はがき作成 Wordによる宛名印刷 2 2023/01/04 15:36
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- プリンタ・スキャナー 電化製品が一度もまともに稼働しない場合、返品・返金してもらえないものなの? 3 2023/01/19 23:37
- Access(アクセス) 【アクセス】レポート テキスト枠線が消えた 1 2022/07/02 17:40
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
サブレポートのレポートフッターが印刷されず困っています。
Access(アクセス)
-
アクセスのレポートのヘッダーを2ページ以降にもつけるには?
Access(アクセス)
-
アクセスでレポートの1印刷内に複数のレコードを表示させたい
Visual Basic(VBA)
-
-
4
アクセスのレポートで同ページ内で2つ同じ内容を表示するには?
Access(アクセス)
-
5
ActiveReportsを使って[印刷ダイアログ]を表示させずに印刷する方法
Visual Basic(VBA)
-
6
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
7
Accessレポートで特定条件で改ページしたい
PowerPoint(パワーポイント)
-
8
アクセスのレポート合成(複数のレポートを一つにまとめる方法)
その他(データベース)
-
9
accessのレポートを20行固定にする方法
Access(アクセス)
-
10
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのレポート上のテキスト...
-
アクセスのレポートのヘッダー...
-
テキストボックスにコントロー...
-
★お手上げ状態です。助けてくだ...
-
Access上で作成したレポートのE...
-
Accessのフォーマット時イベント
-
Accessでレポートの項目をVBAで...
-
Access2013でレポートを名前を...
-
複数ページにまたがるサブレー...
-
エクセルで表を作り、ピボット...
-
AccessでExcelのsumif関数の様...
-
レポートのコントロールソース...
-
ACCESSのレポートで改行...
-
ACCESS2000 VBAで印刷時にサブ...
-
ACCESSでデータゼロ件の時レポ...
-
ACCESSのレポート印刷について
-
ACCESS レポートでグループご...
-
Accessフィールドのコントロー...
-
計算結果がレポートビューでは...
-
Access レポートからレポートの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのレポートのヘッダー...
-
Accessのレポート上のテキスト...
-
Access チェックボックスを使...
-
accessレポートにwordの文...
-
Accessのフォーマット時イベント
-
ACCESS2000 VBAで印刷時にサブ...
-
★お手上げ状態です。助けてくだ...
-
ACCESS レポートでグループご...
-
Accessでレポートの項目をVBAで...
-
レポートのラベルなどの非表示...
-
Access2007でページ毎にPDFを出...
-
Access2013でレポートを名前を...
-
テキストボックスにコントロー...
-
レポートのコントロールソース...
-
アクセスのレポートで空白のテ...
-
Accessでページヘッダーだけが...
-
アクセスでレポート作成時にデ...
-
エクセルで表を作り、ピボット...
-
計算結果がレポートビューでは...
-
Access レポートフッターを条...
おすすめ情報