現象
昨日まで正常に開けていて、問題が無いはずのレポートについて、今日印刷プレビューすると下記例外。
イベントプロパティに指定した式 フォーマット時 でエラーが発生しました:
オブジェクトまたはクラスがこのイベント セットをサポートしていません。
マクロ名、ユーザー定義関数名、[イベントプロシージャ]以外の式が設定されています。
関数、イベント、マクロの評価でエラーが発生しました。
このレポート内のカスタム マクロの実行が失敗したため、レポートを表示できません。
レポートをデザインビューで開くことはできる。
Windows10とMicrosoft365(Access)のバージョンアップは起きていない。
(ソフトのアップデートが原因とは考えにくい)
対応(オブジェクト再作成)
根本の原因は不明だけど、こうすると直った…。
- Accessファイルを複製。(『原本』と『コピー』の2ファイル)
- 『原本』から問題のレポートを削除してファイル閉じる。
- 『コピー』から『原本』へ問題のレポートを移植(コピペ)。
要は一旦オブジェクトを削除して、全く同じオブジェクトを再作成。
はぁ…(´·ω·`)
対応(イベント設定の修正)
オブジェクト再作成ではなく、イベント設定の修正で直ったこともあった。
(こちらの方がより根本の原因に近い対応と思われる)
下記のようにイベントが設定されている箇所について、一つ一つ『…』を開いて、関数を見ていく。
それを行っていく中で、中身が空の関数が新規作成されたら、その関数とイベント設定を削除。
おそらくそれは不必要なイベント(作成した覚えが無いイベント)である可能性が高い。
要は『イベント設定だけが存在して、それに紐づく関数が無い』という不一致状態を解消。
オブジェクト再作成だけでなく、『イベント設定におかしな点が無いか』の確認も合わせてやっておいた方がいい。
蛇足
イベントプロパティに指定した式
で始まる例外はオブジェクト再作成で直ることが多い…。
はぁ…(´·ω·`)
バージョン
Windows 10 Pro 21H2 OSビルド 19044.1889
Microsoft Access for Microsoft 365 MSO (バージョン 2207 ビルド 16.0.15427.20166) 32 ビット