MS Access

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

投稿日:2013年5月8日 更新日:

Accessのレポートで表示するデータがない場合は、以下のように書けばスマートにキャンセルできる。

Private Sub Report_NoData(Cancel As Integer)
MsgBox "表示するデータがありません"
Cancel = True
End Sub

しかし、今回のお仕事では、レポートのCloseイベントに必要処理コードを書いている。
となると、データがあってもなくても、必ずCloseイベントが実行されてしまう。
困った。

いろいろトライした結果、わかった。
Closeイベントに書いていた処理をUnloadイベントに移植するとOK。

見えていたレポートが見えなくなる場合はUnloadイベントが実行されるが、Nodataでキャンセルが発生するケースだと、レポートが一度も見えていないのでUnloadイベント以下の処理は実行されない模様。

-MS Access

執筆者:

関連記事

no image

Accessでレポートを印刷したいのにフォームが印刷されるトラブル

現象:全てではなく特定のPCで、チェックリストを出力しようとすると、バックで開いているフォームがプリントされる。 毎回起きるトラブルではなく、うまく出るときもある。 最初の対策:以下のブログを参考に、 …

no image

Accessでレポートのレコードソースを動的にセットしたい

今までは、フォーム上のボタンをクリックしたら、レポートをデザインで開いてからレコードソースをセットしなければならないと思っていた。 つまり、こんなやり方をやっていた。 フォーム:  【ボタン1をクリッ …

no image

Accessで「イベントプロパティに指定した式MouseMoveでエラーが発生しました。フォームまたはレポート上のActiveX コントロールを読み込むときにエラーが発生しました。」

フォームに配置したプログレスバーコントロールの上をマウスポインタが横切ろうとすると、必ず上のエラーメッセージが表示される。 原因がわからず、対処もできず、困っていた。 Google先生も頼りにならず、 …

no image

AccessからMySQLを操作

WordPressに書いた記事は、MySQLに格納されている。 格納された大量の記事をまとめて修正したいときは、いちいち管理画面から修正するのは疲れる。 今までは、PhpMyAdminでSQLのUPD …

no image

Accessで1件ずつレコードを読んでスナップショットファイルを作ってメール送信する処理

作るのにWebに情報が無くてすごく苦労したので備忘録。 私にしかわからないかもしれないけど、見た人も何か参考になるかもしれないから、公開しよっと。 ■事前準備 1.処理を起動するフォームにボタン「調査 …