DoCmd.OpenForm メソッド (Access)
OpenForm メソッドは、Visual Basic で "OpenForm/フォームを開く" アクションを実行します。
構文
expression.OpenForm (FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)
expression: DoCmd オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
FormName | 必須 | バリアント型 | カレント データベースのフォームの有効な名前を文字列式で指定します。 OpenForm メソッドを含む Visual Basic コードをライブラリ データベースで実行すると、この名前のフォームが、最初にライブラリ データベースで、次にカレント データベースで検索されます。 |
View | 省略可能 | AcFormView | フォームを開くビューを指定する AcFormView 定数。 既定値は acNormal です。 |
FilterName | 省略可能 | バリアント型 (Variant) | カレント データベースのクエリの有効な名前を文字列式で指定します。 |
WhereCondition | 省略可能 | バリアント型 (Variant) | 有効な SQL WHERE 句を文字列式で指定します。ただし、WHERE という語を指定する必要はありません。 |
DataMode | Optional | AcFormOpenDataMode | フォームのデータ入力モードを指定する AcFormOpenDataMode 定数。 この設定は、フォーム ビューまたはデータシート ビューで開いたフォームにのみ適用されます。 既定値は acFormPropertySettings です。 |
WindowMode | 省略可能 | AcWindowMode | フォームを開くウィンドウ モードを指定する AcWindowMode 定数。 既定値は acWindowNormal です。 |
OpenArgs | 省略可能 | バリアント型 | 文字列式。 この式は、フォームの OpenArgs プロパティを設定するために使用されます。 この設定は、Open イベント プロシージャなどのフォーム モジュールのコードで使用可能です。 OpenArgs プロパティは、マクロや式でも参照できます。 たとえば、帳票フォームのクライアント一覧を開くとします。 フォームが開くときに特定のクライアントのレコードにフォーカスを移動するには、そのクライアントの名前を OpenArgs 引数で指定し、FindRecord メソッドを使って、指定した名前のクライアントのレコードにフォーカスを移動できます。 |
注釈
OpenForm メソッドを使用して、フォーム ビュー、フォーム デザイン ビュー、印刷プレビュー、またはデータシート ビューでフォームを開くことができます。 フォームのデータ入力モードとウィンドウ モードを選択し、フォームに表示されるレコードを制限することができます。
引数 WhereCondition の最大長は 32,768 文字です (マクロ ウィンドウの WhereCondition アクション引数の最大長は 256 文字です)。
例
次の例では、フォーム ビューで [社員] フォームを開き、[LastName] フィールドが "山田 一郎" のレコードのみを表示します。 表示されたレコードは編集可能で、新しいレコードの追加もできます。
DoCmd.OpenForm "Employees", , ,"LastName = 'King'"
以下の例では、フォーム ビューで frmMainEmployees フォームを開き、cboDept コンボ ボックスで選択された部署に該当するレコードだけを表示します。 表示されたレコードは編集でき、新しいレコードの追加もできます。
Private Sub cmdFilter_Click()
DoCmd.OpenForm "frmMainEmployees", , , "DepartmentID=" & cboDept.Value
End Sub
次の例では、OpenForm メソッドの WhereCondition 引数を使用して、フォームを開くときにフォームに表示されるレコードをフィルター処理する方法を示します。
Private Sub cmdShowOrders_Click()
If Not Me.NewRecord Then
DoCmd.OpenForm "frmOrder", _
WhereCondition:="CustomerID=" & Me.txtCustomerID
End If
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。