- ベストアンサー
ファイルを開くとエラーが起こり、イベントが機能しな
ファイルを開くとエラーが起こり、イベントが機能しないです。 オフィス2003を使っていて、mdbファイルです。 (私が作ったファイルではありません) アクセスを起動したら、画像のようなダイアログが表示されました。 ------------------------------ イベントプロパティに指定した式 クリック時 でエラーが発生しました Returnに対応するGoSubがありません。 *マクロ名、ユーザー定義関数名 {イベントプロシージャ}意外の士気が指定されています。 *関数、イベント、マクロの評価でエラーが発生しました。 このエラーは、Microsoft Office Access でイベントのロジックの場所を評価できないために イベントを実行できなかった場合に発生します。 たとえば、フォームの "OnOpen/開く時" プロパティが =[フィールド] に設定されている場合、イベントが開始されたときに Access ではマクロまたはイベントの名前が実行対象として予期されるため、このエラーが発生します。 ------------------------------ と表示されました。(1回限り) 「すべてのAccessオブジェクト」を見ると ・テーブル ・クエリ ・フォーム ・モジュール があるので、モジュールが原因だと思います。(マクロはない) フォームは一応開いたのですが、コマンドボタンやコンボボックスをクリックすると今度は違うエラーが出ました。 内容は、 ------------------------------ 「イベント プロパティに指定した式 読み込み時 でエラーが発生しました。 オブジェクトまたはクラスがこのイベントセットをサポートしていません。 *マクロ名、ユーザー定義関数名 {イベントプロシージャ}意外の士気が指定されています。 *関数、イベント、マクロの評価でエラーが発生しました。 プロパティまたはメソッドにアクセスしようとして、Visual Basic for Applications (VBA) で問題が発生しました。次のいずれかの問題である可能性があります: 参照が見つからない。 見つからない参照を復元するには、マイクロソフト サポート技術情報の記事 283806 を参照してください。 式が正しく指定されていない。 イベント プロパティで使われるすべての式が正しく指定されているかどうか確認してください。 モジュールでユーザー定義関数が sub または private 関数として宣言されている。 式でユーザー定義関数を解決できるのは、ユーザー定義関数が次のいずれかの関数として宣言されている場合のみです: モジュール内の public 関数 カレント フォームまたはレポートのコード モジュール内の public または private 関数 Access のセキュリティが "中" または "高" に設定されていて、Microsoft Jet 4.0 SP8 アップデートがインストールされていない。 セキュリティが "中" または "高" に設定されている場合、Access が正しく機能するには、最新のバージョンの Jet 4.0 がインストールされている必要があります。Windows Update で最新のバージョンの Microsoft Jet を入手してください。 ------------------------------ との事です。(添付参照) ファイルを一度閉じて開きなおしたら、最初のエラーは表示されなくなりましたが2回目のエラーは表示されます。 VBE画面を開いて、デバッグ→ファイル名のコンパイルを実行しても、何もエラーになりません。 全てのイベントを実行しようとすると(どnのコマンドボタンを押しても)同じエラーが出ます。 VBAコードにブレークポイントを設置しても、イベントが発生されないため、ブレークポイントに辿り着けません。 全てのVBAコードをコメントブロックしてもエラーになります。 どうやって治せば良いでしょうか? ご教授よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Access2000で作られたVBAマクロ、VBAモジュールを含んだmdbファイルは、Access2003以降で開こうとすると、オブジェクト名やVBA関数名が仕様変更されている為、動作しなくなります。 なので、イベントプロパティに指定されている式や値やマクロ名やモジュール名、モジュール内で呼ばれている関数名、モジュール内で操作しているオブジェクトのメソッド名など、色々な部分を、Access2003仕様に変更しないと動きません。 一番簡単な解決方法は「mdbファイルを作った時に使ったバージョンのAccessで開く」です。 なお、ファイルを開いた時に「mdbをAccess2003用に変換する」なんてのをやってたら、古いバージョンのAccessでは開けなくなってしまっているので「ご愁傷様」です。
その他の回答 (1)
- SakuraiMisato
- ベストアンサー率17% (42/235)
同じ拡張子の全ファイルが同じ結果を招きますでしょうか? 複数の端末機での検証が済まされていますでしょうか?
お礼
試してみます。ご回答ありがとうございます。
お礼
バージョンが違うのが原因のようですね。ありがとうございました。