
ちょっと変なやり方かもしれないのですが、都合上こうやりたいので教えてください。
フォーム1の中にフォーム2を入れてサブフォームとして
フォーム2の中にコマンドボタンを一つ置きました。
そのコマンドボタンを押した時に、そのコマンドボタン名を取得したいのですがうまくできません。
フォームは20個ぐらいあってこれと同じ動きをしたいので、
フォームモジュールには
Private Sub コマンド0_Click()
Call アクティブコントロール名を取得する
End Sub
として、
標準モジュールにコードは書いています。
Sub アクティブコントロール名を取得する()
Dim フォーム As String
フォーム = Screen.ActiveForm.Name
MsgBox "アクティブコントロール名" & Forms(フォーム).ActiveControl.Caption
End Sub
にすると、オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)になります。
そもそも、フォーム = Screen.ActiveForm.Nameの時点で、フォーム1になっています。
実際のコマンドボタンはフォーム2にあるのに。
なので、無理矢理
MsgBox "アクティブコントロール名" & Forms("フォーム2").ActiveControl.Caption
にしたら、
実行時エラー2450
マクロの式またはVisualBasicコードで参照されている'フォーム2'が見つかりません。
という違うエラーになりました。
Sub アクティブコントロール名を取得する()
Dim フォーム As String
フォーム = Screen.ActiveForm.Name
Forms("フォーム2").SetFocus
MsgBox "アクティブコントロール名" & Forms("フォーム2").ActiveControl.Caption
End Sub
にすればいいのかな?と思ったら
Forms("フォーム2").SetFocusでアウトでした。
もともとはサブフォームのコントロールから発信したイベントなのに、
サブフォームのコントロールの値が取れないのでしょうか?
実際のmdbファイルではコマンドボタンではなくテキストです。
ご回答よろしくお願いします。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
(VBA)チェックボックスのclickのイベントが、プログラムからの操作でも反応してしまいます。
Visual Basic(VBA)
-
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
-
4
Accessを開くと「排他モードじゃないので変更しても保存できない」との旨の表示が出てしまう。
Access(アクセス)
-
5
サブフォームを非表示させる方法を教えて下さい
その他(Microsoft Office)
-
6
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
7
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
8
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
9
アクセスVBAのMe!と[ ]
Access(アクセス)
-
10
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
11
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
12
accessの自動更新処理をできないようにするにはどうすれば良いですか?
その他(データベース)
-
13
ExcelVBAのコントロールの種類の取得方法
Visual Basic(VBA)
-
14
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
15
ACCESSのサブフォームからメインフォームへの移動
Access(アクセス)
-
16
Access-VBAのPublic変数について =基本的な事です=
Visual Basic(VBA)
-
17
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
18
Access2010 「演算子がありません」エラー
その他(データベース)
-
19
【Access】フォームを閉じる際の制御について
その他(Microsoft Office)
-
20
アクセス フォームが存在するかを一発で取得したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームを表示中にシ...
-
Form_Load と Form_Activate の...
-
EXCEL ユーザーフォームのタイ...
-
クリックイベントなのに、2回ク...
-
MSGBOXのフォント大きさ変更
-
Microsoft Formsの「個人情報や...
-
C#でフォームアプリケーション...
-
EXCEL VBA ユーザーフォームの...
-
VBAでユーザーフォームを再表示...
-
VB.NETでフォームロード中のエ...
-
VBのフォームをスクロールさせ...
-
ユーザーフォームのラベルに時...
-
Current、Openがそれぞれ2回発...
-
VBAで画像を表示する方法
-
モーダルフォームとモードレス...
-
テキストボックス入力データの...
-
VBA(エクセル)のユーザー...
-
ユーザーフォームをWorkSheet(1...
-
フォームの二重起動の阻止
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
Microsoft Formsの「個人情報や...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
クリックイベントなのに、2回ク...
-
ユーザーフォーム上に現在日時...
-
テキストボックス入力データの...
-
VBAのテキストフォームの折り返...
-
ACCESSのフォーム、開くんです...
-
Hideについて(.NET)
-
ユーザーフォームのテキストボ...
-
エクセルVBAのフォームを最...
-
モーダルフォームとモードレス...
-
EXCEL VBA ユーザーフォームの...
-
フォームのテキストボックスな...
-
コントロールの存在確認
-
パソコンの画面に合わせてユー...
-
フォームウィンドウを最前面に...
-
Accessで、一つのフォーム画面...
おすすめ情報