• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESSのイベントで)

ACCESSのイベントでコントロールの名前を取得する方法

このQ&Aのポイント
  • ACCESSのイベントでコントロールの名前を取得する方法は、コマンドボタンのクリックイベントを利用することです。
  • フォームのコントロールにはテキストボックスとコンボボックスがあり、コマンドボタンをクリックすると直前のアクティブなコントロールの名前が取得できます。
  • フォームには20~30個のコントロールがあり、30~40個のフォームがありますが、イベントを個別に追加する方法以外にも、効率的な方法をご紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

質問を理解していませんでした。 >ActiveControlプロパティで現在フォーカスのあるコントロールを返してくれます と回答してしまいましたが・・。 例えば同フォーム上のText1というコントロールに直前まであったコントロール名を表示する場合 コマンドボタンのフォーカス取得時イベントに Me![Text1] = Screen.PreviousControl.Name でText1にそのコマンドボタンをクリックする直前のアクティブだったコントロール名が表示できます。

itodai777
質問者

お礼

ありがとうございました。 その方法でいけそうですね(実際は確認してません)。 実は〆切は今日までだったので、 実際は、マウスムーブイベント(マウスがボタンの上を通過するときのイベント)が発生するタイミングで 現在のアクティブコントロール名を変数に代入しました。 いろいろ勉強になりました。

その他の回答 (2)

回答No.2

ActiveControlは、現在フォーカスのある コントロールを返すので、 itodai777さんの仰る、 「その直前までアクティブだったコントロール」 とは異なり、 ボタン押下時は、押下したボタンですね。 >追加していく(forcusイベント等で変数に代入していく) >方法以外でお願いします。 とありますので、LostFocus等のイベントで取得しておけば、 ボタンクリック時に、前のコントロールを取得できますが、それはご希望でないということですよね。 しかし、私はLostFocus等のイベントでLostFocusしたコントロールを取得しておく 以外に方法が思いつかないです…。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

ActiveControlプロパティで現在フォーカスのあるコントロールを返してくれますのでそのコントロール名を取得すれば良いのでは。

関連するQ&A