DoCmd.OpenForm メソッド (Access)DoCmd.OpenForm method (Access)

OpenForm メソッドは、Visual Basic で "OpenForm/フォームを開く" アクションを実行します。The OpenForm method carries out the OpenForm action in Visual Basic.


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

expression: DoCmd オブジェクトを表す変数。expression A variable that represents a DoCmd object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
FormNameFormName 必須Required バリアント型Variant カレント データベースのフォームの有効な名前を文字列式で指定します。A string expression that's the valid name of a form in the current database. OpenForm メソッドを含む Visual Basic コードをライブラリ データベースで実行すると、この名前のフォームが、最初にライブラリ データベースで、次にカレント データベースで検索されます。If you execute Visual Basic code containing the OpenForm method in a library database, Access looks for the form with this name first in the library database, and then in the current database.
ViewView 省略可能Optional AcFormViewAcFormView フォームを開くビューを指定する AcFormView 定数。An AcFormView constant that specifies the view in which the form will open. 既定値は acNormal です。The default value is acNormal.
FilterNameFilterName 省略可能Optional バリアント型 (Variant)Variant カレント データベースのクエリの有効な名前を文字列式で指定します。A string expression that's the valid name of a query in the current database.
WhereConditionWhereCondition 省略可能Optional バリアント型 (Variant)Variant 有効な SQL WHERE 句を文字列式で指定します。ただし、WHERE という語を指定する必要はありません。A string expression that's a valid SQL WHERE clause without the word WHERE.
DataModeDataMode OptionalOptional AcFormOpenDataModeAcFormOpenDataMode フォームのデータ入力モードを指定する AcFormOpenDataMode 定数。An AcFormOpenDataMode constant that specifies the data entry mode for the form. この設定は、フォーム ビューまたはデータシート ビューで開いたフォームにのみ適用されます。This applies only to forms opened in Form view or Datasheet view. 既定値は acFormPropertySettings です。The default value is acFormPropertySettings.
WindowModeWindowMode 省略可能Optional AcWindowModeAcWindowMode フォームを開くウィンドウ モードを指定する AcWindowMode 定数。An AcWindowMode constant that specifies the window mode in which the form opens. 既定値は acWindowNormal です。The default value is acWindowNormal.
OpenArgsOpenArgs 省略可能Optional バリアント型Variant 文字列式。A string expression. この式は、フォームの OpenArgs プロパティを設定するために使用されます。This expression is used to set the form's OpenArgs property. この設定は、Open イベント プロシージャなどのフォーム モジュールのコードで使用可能です。This setting can then be used by code in a form module, such as the Open event procedure. OpenArgs プロパティは、マクロや式でも参照できます。The OpenArgs property can also be referred to in macros and expressions.

たとえば、帳票フォームのクライアント一覧を開くとします。For example, suppose that the form that you open is a continuous-form list of clients. フォームが開くときに特定のクライアントのレコードにフォーカスを移動するには、そのクライアントの名前を OpenArgs 引数で指定し、FindRecord メソッドを使って、指定した名前のクライアントのレコードにフォーカスを移動できます。If you want the focus to move to a specific client record when the form opens, you can specify the client name with the OpenArgs argument, and then use the FindRecord method to move the focus to the record for the client with the specified name.


OpenForm メソッドを使用して、フォーム ビュー、フォーム デザイン ビュー、印刷プレビュー、またはデータシート ビューでフォームを開くことができます。You can use the OpenForm method to open a form in Form view, form Design view, Print Preview, or Datasheet view. フォームのデータ入力モードとウィンドウ モードを選択し、フォームに表示されるレコードを制限することができます。You can select data entry and window modes for the form and restrict the records that the form displays.

引数 WhereCondition の最大長は 32,768 文字です (マクロ ウィンドウの WhereCondition アクション引数の最大長は 256 文字です)。The maximum length of the WhereCondition argument is 32,768 characters (unlike the WhereCondition action argument in the Macro window, whose maximum length is 256 characters).


次の例では、フォーム ビューで [社員] フォームを開き、[LastName] フィールドが "山田 一郎" のレコードのみを表示します。The following example opens the Employees form in Form view and displays only records with King in the LastName field. 表示されたレコードは編集可能で、新しいレコードの追加もできます。The displayed records can be edited, and new records can be added.

DoCmd.OpenForm "Employees", , ,"LastName = 'King'"

以下の例では、フォーム ビューで frmMainEmployees フォームを開き、cboDept コンボ ボックスで選択された部署に該当するレコードだけを表示します。The following example opens the frmMainEmployees form in Form view and displays only records that apply to the department chosen in the cboDept combo box. 表示されたレコードは編集でき、新しいレコードの追加もできます。The displayed records can be edited, and new records can be added.

Private Sub cmdFilter_Click()
    DoCmd.OpenForm "frmMainEmployees", , , "DepartmentID=" & cboDept.Value
End Sub

次の例では、OpenForm メソッドの WhereCondition 引数を使用して、フォームを開くときにフォームに表示されるレコードをフィルター処理する方法を示します。The following example shows how to use the WhereCondition argument of the OpenForm method to filter the records displayed on a form as it is opened.

Private Sub cmdShowOrders_Click()
If Not Me.NewRecord Then
    DoCmd.OpenForm "frmOrder", _
        WhereCondition:="CustomerID=" & Me.txtCustomerID
End If
End Sub

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.