みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

アクセスVBAのエラーについて

フォームを閉じるためにフォームにボタンを置いて、イベントプロシージャに下記のように書き込みました。すると添付画像のエラーが返ってきてマクロが動きません。

Private Sub コマンド103_Click()
On Error GoTo Err_コマンド103_Click
DoCmd.Close

Exit_コマンド103_Click:
Exit Sub

Err_コマンド103_Click:
MsgBox Err.Description
Resume Exit_コマンド103_Click
End Sub

で、「ファイル-オプション-現在のデータベース」の”フォームの表示”を問題のフォームに切り替えたら問題なく動作します。
つまり”フォームの表示”で選んだフォームでしかコマンドボタンのマクロが動きません。全てのフォームでマクロが動くにはどうしたらよいのでしょうか?

投稿日時 - 2018-01-09 15:33:11

QNo.9416630

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

現象も確認され、解決方法もお分かりの上でと原因追及のQと推察します。
私はエラーが確認できないときは、最後の手段として
「空のファイルを作成して、現ファイルを全てインポート」をしています。
これで不都合がなくなる事があります。
少なくともファイルのボリュームが減少します。
修正を何度も重ねているうちにゴミが溜まるのですね

投稿日時 - 2018-01-15 06:39:24

お礼

ご回答ありがとうございます。一応正規の手順は理解しているつもりですが、「「ファイル-オプション-現在のデータベース」の”フォームの表示”を問題のフォームに切り替えたら問題なく動作する。」ということから別の何らかの設定が邪魔している可能性を疑っています。もっともご指摘のようMicrosoftのバグという可能性もありますが。

投稿日時 - 2018-01-15 14:24:36

ANo.3

>「コマンド103」のプロパティシートのイベントは”クリック時”が”イベントプロ
シージャ”になっています。

この”イベントプロシージャ”の右端の「…」クリックしてください
これで
コマンドがVBAにつながることがあります。

投稿日時 - 2018-01-14 22:17:40

お礼

ご回答ありがとうございます。右端の「…」をクリックして目的のコマンドのVBAのプログラムが出てくることは確認できますので、そのプログラムが実行されるはずなのですが。

投稿日時 - 2018-01-15 00:36:27

ANo.2

「コマンド103」のプロパティシートのイベントに[埋め込みマクロ]
がありませんか
VBAよりこちらが優先しているのでは
この文字をDELキーで除去して下さい

ちなみに、自分はどうせ閉じるのだから
Private Sub コマンド103_Click()
 DoCmd.Close
End Sub
としています。

投稿日時 - 2018-01-14 14:58:18

お礼

ご回答ありがとうございます。

「コマンド103」のプロパティシートのイベントは”クリック時”が”イベントプロシージャ”になっています。
それ以外(フォーカス取得後とか)は登録されていません。

ここの事でよろしかったでしょうか?

投稿日時 - 2018-01-14 18:35:29

んんー

Docmd を使う理由は?
Resume も使わないよね。私の場合ですけど。

投稿日時 - 2018-01-09 16:02:21

お礼

ご回答ありがとうございます。アクセス2000の頃から使っているので古いものがそのまま残っているんです。。。

投稿日時 - 2018-01-09 20:08:44

あなたにオススメの質問