Open Query メソッド の基本構文と引数の解説

Access VBA の DoCmd.OpenForm メソッドは、指定したフォームを開くための基本的な命令です。フォームは、データの表示・入力・編集を行う中心的なUI要素であり、このメソッドはフォームの表示方法やフィルター、編集モードなどを細かく制御できます。


目次

🔹 基本構文

DoCmd.OpenForm(FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)

🔸 引数の解説

引数名説明
FormNameString開くフォームの名前(必須)
ViewAcFormViewフォームの表示方法(省略可能、既定は acNormal
FilterNameString事前に保存されたフィルタークエリの名前(省略可)
WhereConditionStringSQL の WHERE 句のような条件式(省略可)
DataModeAcFormOpenDataModeフォームの編集モード(省略可)
WindowModeAcWindowModeフォームの表示形式(省略可)
OpenArgsVariantフォームに渡す引数(Form_Open イベントで取得可)

🔹 主な列挙型の値

AcFormView(表示方法)

説明
acNormal通常ビュー(既定)
acDesignデザインビュー
acPreview印刷プレビュー

AcFormOpenDataMode(データモード)

説明
acEdit編集モード(既定)
acReadOnly読み取り専用
acAdd新規レコード追加専用

AcWindowMode(ウィンドウモード)

説明
acWindowNormal通常のウィンドウ(既定)
acDialogモーダル表示(閉じるまで他の操作不可)
acHidden非表示で開く

🔸 使用例

✅ 基本的なフォーム表示

DoCmd.OpenForm "frmCustomers"

✅ 読み取り専用で開く

DoCmd.OpenForm "frmOrders", , , , acReadOnly

✅ WHERE 条件を使って特定レコードのみ表示

DoCmd.OpenForm "frmCustomers", , , "CustomerID = 123"

✅ モーダルダイアログとしてフォームを開く(閉じるまで他の操作不可)

DoCmd.OpenForm "frmSearchDialog", , , , , acDialog

✅ 引数を渡して開く(OpenArgsを使用)

DoCmd.OpenForm "frmEditItem", , , , , , "ItemID=456"

フォーム側の Form_Open イベントで取得:

Private Sub Form_Open(Cancel As Integer)
    MsgBox "受け取った引数: " & Me.OpenArgs
End Sub

よかったらシェアしてね!
目次