IT仕事 MS Access

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

投稿日:

困ったこと:

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

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

やりたかったこと:

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

難しかったこと:

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

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

できた:

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

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

-IT仕事, MS Access

執筆者:

関連記事

no image

EC-CUBEをXAMPPを使ってローカルインストールした

表記の情報がWebにあまりなかったので、誰かの参考になるかと思い、記しておく。 ■XAMPPをインストール ごく、普通に。 ■データベースの作成 XAMPPのPHPMyAdminで、eccubeなどと …

no image

中国製品は・・・

会社で印刷用の大型ロール紙を某国から直接仕入れているのですが、今回分に、数メートルおきに小さな穴が開いている品が混じっていたそう。。。ひどい。担当者が「今度は、そうきたか・・・」ってため息ついてました …

no image

Accessのフォームでテキストボックスに入れた値を次回オープン時の既定値として自身に保存するには

ちょっとだけ苦労した。 次回もきっと使うことがあるだろうから、メモメモ。 現在の値を変数に入れておく(これをしておかないと、次の処理でデザインビューに切り替わるために入力した値も消える)。 フォームを …

Arigato Automation(Shopifyのアプリ)の備忘録

EC業務で「特定顧客の注文につき、注文から1日経ったら、自動で発送済みにする」・・・ということを、したい。 うちの会社の場合は、店頭受取の顧客については、発送の管理をしないため。 以下、Arigato …

no image

Exitイベント

覚え書き。 ExcelVBAのフォームで、 Clickして抜けるかEnterキーして抜けるかわからないテキストボックスには、Exitイベントのところに処理を書いちゃダメ。 ClickとEnterキーで …