質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.91%

(Access)レポートの両面印刷方法について

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 308

jennieruby

score 10

https://teratail.com/questions/277435
こちらで質問した顧客へ送るクーポン期限の案内についてです。

日付からレポートを抽出することはできたのですが、この案内を次は両面印刷をしたいです。
裏にはこちらでデザインした社名とロゴを印刷したいのですが、色々調べて試しましたがそもそも両面になりません・・・

まだ初心者で理解力が乏しいこともありますが教えていただけると幸いです。

印刷のページ設定は列数を2に指定しています。
行列指定は行間隔0、列間隔0.635
サイズは幅13.198、高さ3.799
印刷方向は左から右 となっています。
これをA4サイズの横向きの設定にしています。

ラベルウィザードではくレポートのデザイン画面から作成いたしました。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • jennieruby

    2020/07/14 14:35

    dit.様
    できれば印刷ボタンから両面出来ればとてもありがたいです・・・。
    どうしても無理だというなら手動で行いますが・・・

    キャンセル

  • hatena19

    2020/07/14 15:11

    可能ではありますが、かなりのスキルが必要ですよ。初心者マークを付けていることから難しいかなと思います。
    私自身はしたことがないので、アイデアだけの提示になりますので、それでよければ回答に追記します。

    キャンセル

  • jennieruby

    2020/07/14 15:15

    hatena19様
    初心者ですができる限りのことはしたいと思っております。
    お手数だとは思いますがよろしければアイデアのご教授お願い致します。

    キャンセル

回答 1

checkベストアンサー

+1

一番簡単かつ確実なのは、先に裏面の社名ロゴを印刷しておいて、その用紙の裏にクーポン券を印刷するという方法ですね。

すべてのクーポン券の裏面に社名ロゴを印刷するのなら、裏面に社名ロゴを印刷した用紙を多数用意しておいて、プリンターにセットしておいてクーポン券を印刷すればいいかと思います。

プリンターの両面印刷機能を使って、表面も裏面も同時に印刷するのは、ラベル印刷で1枚に複数レコードを印刷している場合、かなり難易度が高くなります。
(ヒントとしてはサブレポートをうまく使うか、VBAを使って制御することになります。)

追記

サブレポート案

レポートのレコードソースに、「ページ」というフィールドを追加する必要があります。
「ページ」フィールドの値は、1ページ10件なので、10件ごとにカウントアップするようにします。
クエリで連番を表示する方法や、VBAで連番を入力していく方法が検索すれば見つかりますので、まずは連番を出力できるようにします。
連番で取得できれば、それを使って下記の
[連番] \ 10
で10毎にカウントアップできるページフィールドができます。

日付で抽出するのでそれを考慮しないといけないのでかなり高難度です。
前回の質問の OpenReport の引数で抽出する方法ではなくレコードソースのクエリに抽出条件を設定することになります。

上記とは別にメインレポートの用のテーブルを作成します。
フィールドは「ページ」のみです。ここには連番を入力しておきます。
これをレコードソースとするレポートを作成して、上記のレポートを詳細セクションにサブレポートとして埋め込みます。
サブレポートコントロールのリンク親フィールド/リンク子フィールドは「ページ」に設定します。
サブレポートのサイズは用紙サイズから上下左右余白を引いたサイズにします。

このサブレポートの下部の詳細セクションに社名とロゴを10個配置します。

サブレポートのすぐ下に改ページコントロールを配置します。

以上です。

VBA案

現状のレポートの詳細セクションに、 社名とロゴを配置します。
詳細セクションのフォーマット時イベントで、
表ページをフォーマットしているときは、社名とロゴを非表示にします。
裏ページをフォーマットしているときは、社名とロゴを表示させて、それ以外を非表示にします。
また、裏ページをフォーマットしているときは、Me.NextRecord = Falseで次レコードに移動しないようにします。

表ページか裏ページの判定は、Me.Page Mod 2の結果が0か1かで可能です。

これもレポートのイベントの発生のメカニズムを理解している必要がありますので、高難度ですね。

もし、高難度でもチャレンジしたい、ということなら、下記の私の管理する掲示板がありますので、そちらで質問していただければ、ファイルをアップロードできますので、現状のファイルをもとに改修する方法を具体的にアドバイスできると思います。

Microsoft Access 掲示板 - zawazawa

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.91%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る