「みんな教えて! 選手権!!」開催のお知らせ

アクセスで意図せずサブプロシージャを移動してしまうのを止めたいです。

フォームに複数のサブプロシージャを作製しました。
作製したものの、処理の途中で意図せず別のサブプロシージャに飛んでしまうことがあります。
例えばクリック時に自動入力されるテキストボックスと、クリック時にフォームにあるテキストボックスをコピーするボタンがある時、ボタンを押すとテキストボックスのサブプロシージャに飛んでしまいます。
ボタンにあるサブプロシージャのみ動作させたいとき、どのようにすればよいでしょうか?
ご回答よろしくお願いいたします。

A 回答 (1件)

こんにちは。



良くも悪くもプログラムは書いた通りに動きます。どこかに原因があるはずですが、ご質問のことを回答します。

こんな感じでフラグを使うと良いですよ。

Private m_caller_flag as Boolean

Private sub CommandButton1_Click()
  m_caller_flag = True
  本来の処理
  Call サブプロシージャ
End Sub

Private sub サブプロシージャ()
  'フラグがたっていない(False)なら終了
  If m_caller_flag = False Then Exit sub
  
  本来の処理
  m_caller_flag = False

End sub

スマホで書いてます。動作未検証、タイプミスがありましたら申し訳ありません。
    • good
    • 0
この回答へのお礼

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

フラグの有無で行えばいいのですね。
目から鱗でした。
ありがとうございました!

お礼日時:2022/09/02 16:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報