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

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

新規登録して質問してみよう
ただいま回答率
85.48%
印刷

印刷とは、インキを用いて紙などの被印刷物に機械的に複製することを指します。現在は紙などの2次元の媒体だけでなく、3次元の曲面にも直接印刷する技術など様々な開発が進んでいます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

3837閲覧

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

jennieruby

総合スコア11

印刷

印刷とは、インキを用いて紙などの被印刷物に機械的に複製することを指します。現在は紙などの2次元の媒体だけでなく、3次元の曲面にも直接印刷する技術など様々な開発が進んでいます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2020/07/14 02:01

編集2020/07/14 02:55

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

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

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

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatena19

2020/07/14 02:28

前回の質問では、 > 小さいものなのでA4用紙に10個印刷できるように設定しています。 とのことですが、これをどのように実現しているのか、の説明が必要です。 ページ設定で列数とサイズを指定しているとか、ラベルウィザードで作成したとか。 質問に追記してください。
hatena19

2020/07/14 02:29

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

2020/07/14 04:40

「社名とロゴのデザイン」ということは、顧客によって内容を変えるような差し込み印刷ではなく、すべての案内に共通したものを印刷するということですよね。 どうしても一度の印刷ボタンで両面印刷まで済ませたいのでしょうか。 hatena19さんの意見と同じく、クーポン案内面(表)と社名ロゴ面(裏)の印刷を分けて考えた方が(用紙をセットしなおす手間はありますが)確実に行えると思います。
jennieruby

2020/07/14 05:35

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

2020/07/14 06:11

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

2020/07/14 06:15

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

回答1

0

ベストアンサー

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

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

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

追記

サブレポート案

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

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

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

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

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

以上です。

VBA案

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

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

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

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

Microsoft Access 掲示板 - zawazawa

投稿2020/07/14 03:05

編集2020/07/14 06:50
hatena19

総合スコア33699

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問