• 締切
  • 暇なときにでも

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

  • 質問No.9416630
  • 閲覧数194
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 97% (4203/4314)

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

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

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

回答 (全4件)

  • 回答No.4

ベストアンサー率 43% (212/486)

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

お礼率 97% (4203/4314)

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

ベストアンサー率 43% (212/486)

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

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

お礼率 97% (4203/4314)

ご回答ありがとうございます。右端の「…」をクリックして目的のコマンドのVBAのプログラムが出てくることは確認できますので、そのプログラムが実行されるはずなのですが。
投稿日時:2018/01/15 00:36
  • 回答No.2

ベストアンサー率 43% (212/486)

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

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

お礼率 97% (4203/4314)

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

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

ここの事でよろしかったでしょうか?
投稿日時:2018/01/14 18:35
  • 回答No.1
んんー

Docmd を使う理由は?
Resume も使わないよね。私の場合ですけど。
お礼コメント
subarist00

お礼率 97% (4203/4314)

ご回答ありがとうございます。アクセス2000の頃から使っているので古いものがそのまま残っているんです。。。
投稿日時:2018/01/09 20:08
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ