Accessレポート印刷不具合回避サンプルプログラム


更新日:2012年3月28日
このプログラムは、Accessレポートの不具合を回避するためのプログラムです。
※Access2003・2007・2010対応

Access2003の問題点として、
レポートの出力設定を「その他のプリンタ」として正常に印刷できていたものを、他のクライアント機にコピーして使用しようとした時に印刷が正常に行われない、というものがあります。
さらに、Access2007では「その他のプリンタ」で出力設定を行ない、その印刷設定を保存することすら出来ないという現象が起こっています。
(参照リンク先: Access 2007 のレポートのページ設定でその他のプリンタに変更した設定が保存されない

以上のような問題を解決するために作られたのがこのプログラムです。

V.2.02では一部プリンタで用紙サイズ名が正常に取得できないバグを修正しました。
AccessプロジェクトでVBAのInStr関数が返す値が間違っている(Microsoftサポート KB436452)
http://support.microsoft.com/kb/436452/ja

【プログラムの原理】
各レポートで使用するプリンタを[帳票設定]テーブルに登録します。
クライアントに登録されているプリンタの一覧や、そのプリンタごとの用紙や給紙トレイの一覧(WindowsAPIを使用して取得)は値リストとして取得します。
レポート印刷時に[帳票設定]テーブルを利用して、レポートで使用するプリンタ情報をプログラムによって一時的に書き換えた後に印刷を行おうとするものです。
※一言で言うと、レポート内にプリンタ名や用紙サイズ情報を保存するのではなく、独自に用意したテーブルに保存するということ。

このダウンロードしたファイルsmp_printerV2.exeは自己解凍形式となっていますので任意のフォルダーにコピーした後、ファイルを実行してください。実行されると次のファイルが解凍されます。
  • prg.mdb(プログラム本体)
  • readme.txt(説明用テキストファイル
prg.mdbが実行されるとプリンタ切替サンプルプログラムが起動されます。
※このソフトウエアを動作させるには、Access2003またはAccess2007、Access2010のいずれかが必要です。
★有料ダウンロードはこちらから。
●メインメニュー
メインメニュー
●設定変更の手順
レポートの設定を変更する手順は以下の通りです。
(「サンプルレポートA」を例に、説明します)
サンプルレポートA(変更前)
●サンプルレポートA
帳票設定(変更前)
●帳票設定
1.初期のレポートの用紙設定は以下の通りです。
[帳票設定]フォームは、「どのレポートでどのプリンタを利用するか」を設定するためのフォームです。レポートの設定内容を確認してください。
[プリンタ]を変更
(1)[プリンタ]を変更
2.[帳票設定]画面を開き、[プリンタ]や[用紙サイズ]等の値を変更します。
[プリンタ]のコンボボックスを開くと自分のパソコンに登録されているプリンタの一覧が表示されます。
[用紙サイズ]を変更
(2)[用紙サイズ]を変更
また、[用紙サイズ]のコンボボックスを開くと選択したプリンタで使用可能な用紙サイズの一覧が表示されます。
[給紙トレイ]を変更
(3)[給紙トレイ]を変更
V2では[給紙トレイ]の選択ができます。
帳票設定(変更後)
●帳票設定(変更後)
3.[サンプルレポートA]の値を以下のように変更しました。
サンプルレポートA(変更後)
●サンプルレポートA(変更後)
4.再度[サンプルレポートA]を開き、設定した通りにプレビューが表示されることを確認します。