次の方法で共有

レポート印刷時、グループで改ページをしているが、ページ数(総ページとページ数)が合わない。

Anonymous
2014-09-10T07:20:06+00:00

こんにちは、mikiです。

弁当注文ソフト(昨年11月)に完成し大きな問題もなく運用しています。レポート印刷で気がついたのですが、総ページ数(pages)が、ページ数(page)よりも1つ少ないのです。状況は、以下の通りです。ご教示頂ければ幸いです。

                                                  記

《経緯》

レポート

 ・グループヘッターに、テキストボックスを入れ(A・B・C・・・)その上に、改ページコントロールを入れている。又、印刷時イベントで、B又はDがきたら、改ページコントロールをtrueにする様にしている。

 ・1枚目が、空のデータで印刷されたので(テキストボックスの上に改ページコントロールがあるから)レポートを開くときのイベントに、me.改ページコントロール.visible=falseを入れた。(このことにより)からのページは、印刷されなくなった。

 ・印刷結果

  ページフッター : [Page] & "/" & [Pages] & " ページ"

  結果 1枚目:1/2ページ、 2枚目:2/2ページ、 3枚目:3/2ページ

                                                                                以上

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2014-09-10T08:10:32+00:00

> 印刷時イベントで、B又はDがきたら、改ページコントロールをtrueにする様にしている。

> 開くときのイベントに、me.改ページコントロール.visible=falseを入れた。

この辺が原因かなという気がします。

総ページ数は、最終ページまで、フォーマット時イベントを発生させて習得しています。

印刷時イベントでの改ページ変更は反映されません。

レポートのイベントの発生メカニズムの研究 - hatena chips

http://hatenachips.blog34.fc2.com/blog-entry-147.html

レポートのイベントの発生メカニズムの研究 その2 - hatena chips

http://hatenachips.blog34.fc2.com/blog-entry-148.html

とりあえず、

改ページコントロールのVisibleを変更する処理を、フォーマット時イベントに移動させたらどうでしょうか。

レポートのイベントの発生メカニズムは複雑ですので、いろいろ試行錯誤が必要です。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

7 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2014-09-12T03:45:43+00:00

    > ※ フォーマット時イベントに上記を入れたのですが、改ページが思い通りににならなかった。

    印刷時が希望どおりということなら、

    組織フッター(グループフッター)の最下部に改ページコントロールを移動して、

    コードも組織フッターのフォーマット時に移動すればどうでしょうか。

    印刷時に改ページコントロールを有効にしても、すぐには反映されずに、次の組織のヘッダーになります。

    フォーマット時だとカレントセクションですぐに改ページされます。

    > ご教示頂いた方法は、最初(昨年)に検討していたのですが、人数が多いので組織ごとに1・2・3・とつけるの

    >   が(メンテナンス)面倒かなと思い、当時断念しました。

    人数は関係ないですよね。組織マスターテーブルがあると思いますので、そこに入力すればいいだけです。

    組織が多いといっても何百件もないですよね。最初の一回だけですのでそんなに手間とも思えませんが。

    もしあるなら、VBAでレポートに記述した条件で加算しながら更新するという処理で自動化は可能です。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2014-09-12T01:13:48+00:00

    hatena19様 ご回答ありがとうございます。

     コメントいただいた件、以下に記します。

                        記

     まず、各設定について

     レポート(テーブル)の構成 : 組織・手配日・納入場所・名前 ・・・

     組織ヘッダー(グループヘッダー)に改ページコントロール(改ページ_組織)を入れている。

     組織ヘッダー(グループヘッダー)の改ページのプロパティは、改ページしないに設定。

    Q1: どのような条件で改ページしたいか

    A1: レポート、組織において、グループ化しているが、ある組織がくれば改ページしたい。

      (印刷時に、ある程度まとめたい。且つ、印刷ページを少なくしたい)

    Q2:それを実現する為に、どのようなコードをフォーマット時に記述したか

    A2:組織ヘッダー(グループヘッダー)の印刷時、イベントプロシージャーに以下を記載。

       If (Me.納入場所 = "A棟" And Me.組織 = "(AA)[ああ](10G)") Or (Me.納入場所 = "A棟" _"A棟" _

       And Me.組織 = "(AA)[いい](20G)") Or (Me.納入場所 = "A棟" And Me.組織 = "(BB)[うう](30G)") Or                 (Me.納入場所 = "B棟" And Me.組織 = "(CC)[ええ](40G)") Then

        Me.改ページ_組織.Visible = True

      Else

        Me.改ページ_組織.Visible = False

      end if         

     ※ フォーマット時イベントに上記を入れたのですが、改ページが思い通りににならなかった。

      (思い通りにならないのは、どこが悪いのかわからなかった)

    その他

     1) 1ページ目が空白ページとなるので、レポートを開くときのイベントに、 Me.改ページ_組織.Visible = False を

       入れている。(これは、うまく行っている)

     2) 現在印刷は、うまく行っています。ただ、ページフッターの ⇒ [Page] & "/" & [Pages] & " ページ" の内、

       pages(総ページ数)の値が、実際より少なくなっている。これを何とかしたい。 

     3)ご教示頂いた方法は、最初(昨年)に検討していたのですが、人数が多いので組織ごとに1・2・3・とつけるの

       が(メンテナンス)面倒かなと思い、当時断念しました。

                                                    以上 miki

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2014-09-11T06:37:00+00:00

    どのような条件で改ページしたいのでしょうか。

    また、それを実現するためにどのようなコードをフォーマット時に記述したのでしょうか。

    希望の条件と、実際のコードが合致していないのでしょう。

    希望の条件と、実際のコードを提示していただければ、間違いを指摘できるかもしれません。

    ただ、コードで改ページを制御する気は結構難易度が高いですので、

    テーブルの方でグループフィールドを追加して、

    それでグループ化するようにしたほうがシンプルかつ、変更時の修正も楽だと思います。

    例えば、

    グループ 大グループ

    A      1

    B      2

    C      2

    D      3

    として、大グループでグループ化して、グループフッタで「改ページ」プロパティを「カレントセクションの後」とすれば、

    A

    -----改ページ

    B

    C

    ----改ページ

    D

    と改ページされます。

    これだとコードなしで可能ですし、Pagesも正しく表示されるはずです。

    また、改ページの位置を変更したい場合も、テーブルを更新するだけでOKです。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2014-09-10T09:08:21+00:00

    早速のご教示ありがとうございました。

     改ページコントロールのVisibleを変更する処理を、フォーマット時イベントに移動しましたが、印刷時、意図しないところで改ページされていました。改ページコントロールのVisibleを変更する処理をそのままにしておいて、フォーマット時イベント(指定グループでの改ページ時)にpagesのカウントをすれば良いのでしょうか?

     私は、勉強不足なので、とりあえずpagesを削除したいと思います。

                                                miki 2014-9-10

    > 印刷時イベントで、B又はDがきたら、改ページコントロールをtrueにする様にしている。

    > 開くときのイベントに、me.改ページコントロール.visible=falseを入れた。

    この辺が原因かなという気がします。

    総ページ数は、最終ページまで、フォーマット時イベントを発生させて習得しています。

    印刷時イベントでの改ページ変更は反映されません。

    レポートのイベントの発生メカニズムの研究 - hatena chips

    http://hatenachips.blog34.fc2.com/blog-entry-147.html

    レポートのイベントの発生メカニズムの研究 その2 - hatena chips

    http://hatenachips.blog34.fc2.com/blog-entry-148.html

    とりあえず、

    改ページコントロールのVisibleを変更する処理を、フォーマット時イベントに移動させたらどうでしょうか。

    レポートのイベントの発生メカニズムは複雑ですので、いろいろ試行錯誤が必要です。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません