【Access】譲渡証明書が印刷されずフォームが印刷される。

こんにちは! イマジネットPCサポートの橋崎です。

今回もお客様から頂いたご依頼からの出来事をご紹介します。

譲渡証明書・委任状をパソコンで印刷したい。

お客様は自動車関連のお仕事をされている関係で、譲渡証明書や委任状をよく作成しています。

現在は譲渡証明書や委任状テンプレートをコピーしたものに必要な情報を手書きで作成しています。

勿論、手書きでも事足りるのですが、パソコンで白紙の状態から必要な情報ごと印刷できるようにしてほしいとご依頼がありました。

パソコンを使用してプリンターから書類を作成するにはいくつかのパターンがあります。

皆さんがスグに思いつくのはWordではないでしょうか?

Excelでも出来そうですよね!

Wordにテンプレートを作成して、そこに必要な情報を直入力する事でもそのような事は可能です。

なんでしたら委任状や譲渡証明書で検索すれば無料で使用できるテンプレートもダウンロードができます。そちらを活用してもよさそうですね。

しかし当店はどちらかと言えばWordやExcelの操作よりAccessで作成する方が簡単なのです。今回の内容ではAccessで作成するほどではないかも知れませんが、お客様にとって操作面でも簡単なのでAccessを使用して非常に簡単な内容で作成しました。

その時のちょっとしたトラブルをご紹介します。

本日納品した時の出来事

内容は本当に簡単でスタートメニューから「譲渡証明書」か「委任状」のどちらかを選択します。

今回は譲渡証明書を選択します。

譲渡証明書入力フォームに必要な情報を入力します。※入力しているデータはサンプルです。

入力完了後「印刷プレビュー」ボタンを選択します。

すると印刷プレビューが表示されてから印刷を選択する事でプリンターから出力されます。

簡単ですね。

フォームが印刷される

勿論、動作確認は行っています。

当店の環境ではプレビューで表示されているレポートが印刷されるのですが、お客様の環境で印刷するとこのようなものが印刷されます。

モノクロなのでわかりにくいですが、レポートが印刷されていない事はわかると思います。

実はコレ、譲渡証明書のフォームが印刷されているんですよ

おかしいですよね

レポートのプレビューまで表示しているにもかかわらず、何故かフォームが印刷されてしまいます。

結構あるあるな現象

実はこの現象、結構あります。

珍しい事ではありません。

勿論、対策はしますが、今回は少々ツメが甘かったようです。

先程も申しましたが、当店の環境では動作確認はしています。勿論、問題はありませんでした。

しかし、今回の件以外でもお客様の環境で確認するとフォームが印刷される現象が割に頻発します。関係ないかも知れませんが、Access RunTimeで動作させていると発生している事が多いですかね。

原因はAccessの選択状態によるらしく本来であればレポートが選択状態になるべきですが、なぜかフォームが選択状態になるようです。

もう少し詳しく説明すると今回の例では譲渡証明書のフォーム入力があり、その上にレポートが表示されている状態です。

つまり同画面にフォームとレポートがある状態ですね。

この時にフォームが選択状態になっていると今回のような現象が発生するようなんです。

さらに何故、フォームが選択状態になるのかについては全然わかりません。

メモ

Access RunTimeとはAccessのアプリ自体パソコンにインストールしていなくてもAccessファイルを動作させる事ができます。

Access RunTimeは無料でダウンロードする事ができますが、Accessファイル自体の編集(マクロ・VBA・クエリ)などはできません。編集を行う必要がある場合はAccessアプリを購入する必要があります。

対策方法

対策方法としては以下の方法が有力です。

  • フォームを非表示にする。
  • 印刷プレビューを使用しない。
  • フォームを消す。

他にも対策方法はあるようですが、当店ではご紹介した方法をよく使用します。

ひとつ目のフォームを非表示にするは今回行っていましたが、効果がなかったみたいですね。また非表示にすると画面からは消えます。しかし見えなくなっているだけで、存在自体が消えている訳ではないので、フォーム自体を消すと言う事ではありません。

ふたつ目の印刷プレビューを使用せずにいきなり印刷をする方法はどちらかと言えば、お勧めしません。

プレビューは内容確認にもなるので、それが理由です。

三つ目のフォームを消す

実はこれが一番効果があります。

当然ですよね。存在自体がなくなりますから嫌でもレポートが印刷されるようになります。

これは当店も経験しているので言える事ですが、ひとつ目やふたつ目、その他の方法でも効果がある場合も勿論ありますが、効果がない方が多いかも知れません。

しかし三つ目のフォームを消すは効果があります。

これは存在がレポートのみになりますから、当然と言えばそうなります。

ただ、これは説明が難しいですが、フォームを消す事で動作の流れを止めてしまう事になる場合があります。この当たりの事も考慮して仕組み作りを行う必要があるのが、Accessの難しいところかも知れませんね。

今回はフォームを消す事で対応しました。

メモ

表示を非表示にする場合は「Visible = False」

表示を消す場合は「DoCmd.Close acForm」を使用します。

あとがき

本日納品しましたが、お客様はWordでテンプレートを作成して、そこに必要な情報を入力していくものを作成してくると思っていたようです。

操作して頂きましたが、フォームに必要なデータを入力すれば簡単にプレビューが表示され印刷できるので、思っていたものよりも簡単に作成できると言って頂けました。

実際に使用して頂くと色々な要望が出るのがAccessです。

今後もお客様と意見交換しながらよいものにしていけたらと思っています。

それでは、お疲れ様でした。