IT仕事 MS Access

フォームを直接Accessで印刷プレビューし、閉じるときのイベントで処理をしたい

投稿日:

困ったこと:

前提として、自分とこのシステムは、フォームを直接Accessで印刷プレビューして、そのまま印刷できるように作ってある。

しかし、リボンに印刷プレビューを閉じるボタンがある一方で、フォームの右に閉じるボタンが表示されているので、後者をユーザーが誤って押してしまうことがある。
すると印刷プレビューを終えるつもりがフォームを閉じることになってしまう。
再度、呼び出したいフォームを探して開くのは面倒・・・。

やりたかったこと:

リボンの印刷プレビューをクリックすると、フォームウィンドウを最大化してプレビューする(ここは簡単、DoCmd.Maximizeで)。
印刷プレビューを閉じると、フォームウィンドウのサイズが元に戻る(ここがわからん)。

難しかったこと:

印刷プレビューを閉じた際のイベントトリガーがAccessにあるのかないのかわからず、調べるのにずいぶん時間がかかった。

以下の達人のブログを拝見し、イベントを追跡する方法があることを発見し、フォームのプロパティの各所にイベントトラップを仕掛けて、調査した。感謝。
■T’sWare イベント徹底活用 1 ~フォームのオープン・クローズ~

できた:

フォームの「レコード移動時」イベントに記述した処理で、目的が達成できることを発見。
具体的には、以下のコードでOK。

Private Sub Form_Current()
'印刷プレビューから戻るときにフォームのサイズを変える
'■T'sWare イベント徹底活用 1 ~フォームのオープン・クローズ~
'http://tsware.jp/study/vol5/event_01.htm
    DoCmd.Restore
End Sub

-IT仕事, MS Access

執筆者:

関連記事

no image

LimeSurvey2.00+(131009) インストールでトラブル

たまたま使っていたLimeSurveyの管理画面右上に、 「利用可能なアップデート: 2.00+(131009) または 2.05RC2(131011)」 とあったので、 「しばらくアップデートしてい …

Access「実行時エラー3061 パラメータが少なすぎます。2を指定してください」で意外な決着

クロス集計クエリをVBAで読むときで、かつパラメータクエリを使う場合には、クエリのパラメータパネルで、別途、パラメータを指定しなくてはならない(VBAで使わないなら不要) 本日のトラブルは、その後、W …

no image

ColorMeShopの独自ドメインで作成したメールが受信できないトラブルに遭遇

現象は、ColorMeShopの注文フォームからのメール(フォームからメール)は届くが、それ以外(メールソフトからメールソフト)が届かない。 いろいろ調べてわかったのは、管理画面の、オーナー情報-メー …

no image

AccessのレポートでNoDataでイベントキャンセル後もReport_Closeが実行されて困った

Accessのレポートで表示するデータがない場合は、以下のように書けばスマートにキャンセルできる。 Private Sub Report_NoData(Cancel As Integer) MsgBo …

no image

会社のサイトを常時SSL化

会社のショッピングサイト2つのうち、1つを常時SSL化の作業に着手。 まずは、こちらのサイトを参考に、.htaccessを修正。301リダイレクトになるパターンがいいみたい。 httpからhttpsに …