Access VBA の DoCmd.SelectObject
メソッドは、指定したオブジェクト(フォーム・レポート・クエリなど)を選択状態にするために使用します。主に、操作対象をアクティブにする前処理や、ウィンドウ表示の制御などに使われます。
目次
🔹 基本構文
DoCmd.SelectObject(ObjectType, ObjectName, InDatabaseWindow)
🔸 引数の解説
引数名 | 型 | 説明 |
---|---|---|
ObjectType | AcObjectType | 選択するオブジェクトの種類(例: フォーム、クエリなど)必須 |
ObjectName | String | 対象オブジェクトの名前(省略可:省略すると最後に操作したオブジェクトが対象) |
InDatabaseWindow | Boolean | オブジェクトをナビゲーションウィンドウ(旧:データベースウィンドウ)に表示するか(既定: True ) |
🔹 AcObjectType
の主な値
定数名 | 説明 |
---|---|
acForm | フォーム |
acReport | レポート |
acQuery | クエリ |
acTable | テーブル |
acMacro | マクロ |
acModule | モジュール |
🔸 使用例
✅ フォームを選択状態にする
DoCmd.SelectObject acForm, "frmCustomers", True
✅ レポートをナビゲーションウィンドウに表示せず選択
DoCmd.SelectObject acReport, "rptSummary", False
✅ 最後に操作したテーブルを選択
DoCmd.SelectObject acTable
✅ 補足
SelectObject
単体ではオブジェクトを開いたり表示したりはしません。- 他のメソッド(例:
DoCmd.Close
やDoCmd.PrintOut
)の対象指定として用いることがあります。 InDatabaseWindow
をFalse
にすると、選択はされますがナビゲーションウィンドウには表示されません。