- ベストアンサー
Accessで伝票印刷
Accessレポートにて、伝票を印刷したいと思っています。 詳細に印刷される数が伝票により1~7行の範囲です。 詳細部分には、伝票の枠(罫線)も印刷されるように設定しています。 印刷される行数が、7行以下の場合は、7行になるまで 枠だけ印刷されるようにしたいのですが、どのようにしたらいいでしょうか? よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- snoopy64
- ベストアンサー率42% (337/793)
#1です。 >伝票が50枚あるとすると、50データ分、件数を確認し、空白行を追加するという作業をすることになるんですよね? もちろん、手作業でやっていては日が暮れてしまいますので、VBAのコードを書く(プログラム)ことになります。 伝票番号の範囲を入力してボタンを押すと、上記の処理をしてくれて、レポートを印刷するところまでプログラムになります。 難しいですよね・・・でも僕にはその方法しかわかりません。ご期待の回答ではなくてすみませんでした(>_<) 頑張ってくださいヽ(^。^)ノ
- snoopy64
- ベストアンサー率42% (337/793)
#1です。 #2の方の回答を見て、やっぱりこの方法で間違ってなかったんだと、変な安心(?)を少ししてしまいました(>_<) さて、補足に対して回答します。 具体的に言いますと、事前に印刷用テーブルを用意しておき、印刷レポートを起動する前に、伝票テーブルから印刷用テーブルにデータを書き出し、さらにその書き出した件数に応じて空白のレコードを追加し、印刷レポートのデータソースは印刷用テーブルにする、ということです。 明細が3行なら、4件の空白レコードを印刷用テーブルに追加します。 空白レコードとはいっても、それらが明細の後ろに集まるように、ソート用に行番号は必要だと思いますので、その辺は適宜ってことで。 いかがですか? 頑張ってくださいヽ(^。^)ノ
補足
度々、ありがとうございます。 ということは、伝票が50枚あるとすると、 50データ分、件数を確認し、空白行を追加するという作業をすることになるんですよね?
- laputart
- ベストアンサー率34% (288/843)
過去作った伝票用レポートの仕方として (1)印刷用テーブルを別に作成する 例 伝票印刷用T 伝票明細印刷用T ※このテーブルは印刷用で印刷する前には全て のレコードを削除する ※これらは元テーブルと同じ形式にする但し 伝票明細印刷用Tには行番号(1-7)を持たせて 初期値は空白の設定をする これに元テーブルで抽出した伝票と伝票明細を 転送して印刷する この場合マクロやVBAが必要です。 ----------------------- あるいは#1の方の説明のように7-n行の空白レコードを 作成する必要があります。 レポートのデザインでは行数が少ないとき枠だけ印刷するという設定はどうしても出来ないようです。
お礼
お答えいただいてありがとうございました。 やはり、VBAで書くしかないですね。
- snoopy64
- ベストアンサー率42% (337/793)
印刷用テーブルに詳細レコードn件+空白レコード7-n件を追加(常に7件になるように)しておき、レポートのデータソースでこのテーブルを指定するのはどうでしょう。 僕はいつもこうやってます。 うまい方法があるなら僕も知りたいです。 頑張ってくださいヽ(^。^)ノ
補足
早速、ご回答いただきありがとうございました。 テーブルに件数の設定をするというのは、レポートの データソースになっているテーブルに、新しいフィールドを 設定してということでしょうか? よろしくお願いいたします
お礼
ありがとうございます。 わたしも、上記のサポートを見つけて、コードを書いたらうまくいったところです。