PowerApps の EditForm 関数、NewForm 関数、SubmitForm 関数、ResetForm 関数、ViewForm 関数EditForm, NewForm, SubmitForm, ResetForm, and ViewForm functions in PowerApps

編集フォーム コントロールで、項目の表示、編集、または作成、内容の保存、コントロールのリセットを行います。View, edit, or create an item, save the contents, and reset the controls in an Edit form control.

概要Overview

これらの関数は編集フォーム コントロールの状態を変更します。These functions change the state of the Edit form control. フォーム コントロールは、次のモードのいずれかにあります。The form control can be in one of these modes:

モードMode 説明Description
FormMode.EditFormMode.Edit フォームは既存のレコードに設定され、ユーザーはフィールドの値を変更できます。The form is populated with an existing record and the user can modify the values of the fields. 完了すると、ユーザーはレコードに変更を保存できます。Once complete, the user can save the changes to the record.
FormMode.NewFormMode.New フォームは既定の値で設定され、ユーザーはフィールドの値を変更できます。The form is populates with default values and the user can modify the values of the fields. 完了すると、ユーザーはレコードをデータ ソースに追加できます。Once complete, the user can add the record to the data source.
FormMode.ViewFormMode.View フォームは既存のレコードに設定されますが、ユーザーはフィールドの値を変更できません。The form is populated with an existing record but the user cannot modify the values of the fields.

説明Description

これらの関数は多くの場合、ユーザーが編集内容の保存、編集内容の破棄、またはレコードの作成を行えるようにするために、ボタン コントロールまたはイメージ コントロールの OnSelect 数式から呼び出されます。These functions are often invoked from the OnSelect formula of a Button or Image control so that the user can save edits, abandon edits, or create a record. コントロールとこれらの関数を組み合わせて、理想的なソリューションを作成することができます。You can use controls and these functions together to create a complete solution.

これらの関数は値を返しません。These functions return no values.

SubmitFormSubmitForm

ボタン コントロールの OnSelect プロパティで SubmitForm 関数を使用して、フォーム コントロール内の変更内容をデータ ソースに保存します。Use the SubmitForm function in the OnSelect property of a Button control to save any changes in a Form control to the data source.

この関数では、変更が送信される前に妥当性の問題がチェックされます。これは必須の印が付いたフィールド、または値に対する 1 つ以上の制約があるフィールドに関して実行されます。Before submitting any changes, this function checks for validation issues with any field that's marked as required or that has one or more constraints on its value. この動作は、Validate 関数の動作と同じです。This behavior matches that of the Validate function.

SubmitForm ではフォームの Valid プロパティもチェックされます。これは、フォーム コントロールに含まれているカード コントロールのすべての Valid プロパティが集計されたものです。SubmitForm also checks the Valid property of the Form, which is an aggregation of all the Valid properties of the Card controls that the Form control contains. 問題が発生した場合、データは送信されず、それに応じてフォーム コントロールの Error プロパティと ErrorKind プロパティが設定されます。If a problem occurs, the data isn't submitted, and the Error and ErrorKind properties of the Form control are set accordingly.

妥当性に問題がない場合、SubmitForm によって変更内容がデータ ソースに送信されます。If validation passes, SubmitForm submits the change to the data source.

  • 送信が成功した場合、フォームの OnSuccess 動作が実行され、Error プロパティと ErrorKind プロパティがクリアされます。If successful, the Form's OnSuccess behavior runs, and the Error and ErrorKind properties are cleared. フォームが FormMode.New モードだった場合は FormMode.Edit モードに戻ります。If the form was in FormMode.New mode, it is returned to FormMode.Edit mode.
  • 送信が成功しなかった場合、フォームの OnFailure 動作が実行され、それに応じて Error プロパティと ErrorKind プロパティが設定されます。If unsuccessful, the Form's OnFailure behavior runs, and the Error and ErrorKind properties are set accordingly. フォームのモードはそのままです。The mode of the form is unchanged.

EditFormEditForm

EditForm 関数では、フォーム コントロールのモードが FormMode.Edit に変更されます。The EditForm function changes the Form control's mode to FormMode.Edit. このモードでは、フォーム コントロールの Item プロパティの内容がフォームの入力に使用されます。In this mode, the contents of the Form control's Item property are used to populate the form. フォームがこのモードのときに SubmitForm 関数が実行されると、レコードの作成ではなく変更が行われます。If the SubmitForm function runs when the form is in this mode, a record is changed, not created. FormMode.Edit は、フォーム コントロールの既定のモードです。FormMode.Edit is the default for the Form control.

NewFormNewForm

NewForm 関数では、フォーム コントロールのモードが FormMode.New に変更されます。The NewForm function changes the Form control's mode to FormMode.New. このモードでは、フォーム コントロールの Item プロパティの内容が無視され、フォームの DataSource プロパティの既定値がフォームに入力されます。In this mode, the contents of the Form control's Item property are ignored, and the default values of the Form's DataSource property populate the form. フォームがこのモードのときに SubmitForm 関数が実行されると、レコードの変更ではなく作成が行われます。If the SubmitForm function runs when the form is in this mode, a record is created, not changed.

ResetFormResetForm

ResetForm 関数では、ユーザーが変更を行う前に、フォームの内容が初期値にリセットされます。The ResetForm function resets the contents of a form to their initial values, before the user made any changes. フォームのモードが FormMode.New である場合は FormMode.Edit にリセットされます。If the form is in FormMode.New mode, the form is reset to FormMode.Edit mode. さらに、フォーム コントロールの OnReset 動作も実行されます。The OnReset behavior of the form control also runs. Reset 関数を使用して個々のコントロールをリセットすることもできますが、使用できるのはそのフォーム内のみです。You can also reset individual controls with the Reset function but only from within the form.

ViewFormViewForm

ViewForm 関数を使用すると、フォーム コントロールのモードが FormMode.View に変更されます。The ViewForm function changes the Form control's mode to FormMode.View. このモードでは、フォーム コントロールの Item プロパティの内容がフォームの入力に使用されます。In this mode, the contents of the Form control's Item property are used to populate the form. このモードでは、SubmitForm 関数と RestForm 関数は無効です。The SubmitForm and RestForm functions have no effect when in this mode.

DisplayMode プロパティDisplayMode Poperty

Mode プロパティを介して、現在のモードを読み取ることができます。The current mode can be read through the Mode property. また、このモードは DisplayMode プロパティの値を決定し、この値をフォーム コントロール内のデータ カードとコントロールで使用できます。The mode also determines the value of the DisplayMode property which can be used by data cards and controls within the form control. 多くの場合、データ カードの DisplayMode プロパティは Parent.DisplayMode (フォームを参照する) に設定され、コントロールの DisplayMode (データ カードを参照する) は次のモードに設定されます。Often, the data card's DisplayMode property will be set to Parent.DisplayMode (refernceing the form) as will the control's DisplayMode property (referncing the data card):

モードMode DisplayModeDisplayMode 説明Description
FormMode.EditFormMode.Edit DisplayMode.EditDisplayMode.Edit データ カードとコントロールは編集可能で、レコードへの変更を受け入れる準備ができています。Data cards and controls are editable, ready to accept changes to a record.
FormMode.NewFormMode.New DisplayMode.EditDisplayMode.Edit データ カードとコントロールは編集可能で、新しいレコードを受け入れる準備ができています。Data cards and controls are editable, ready to accept a new record.
FormMode.ViewFormMode.View DisplayMode.ViewDisplayMode.View データ カードとコントロールは編集できず、表示に最適化されています。Data cards and controls are not editable and optimized for viewing.

構文Syntax

SubmitForm( FormName )SubmitForm( FormName )

  • FormName - 必須。FormName - Required. データ ソースに送信するフォーム コントロール。Form control to submit to the data source.

EditForm( FormName )EditForm( FormName )

  • FormName - 必須。FormName - Required. FormMode.Edit モードに切り替えるフォーム コントロール。Form control to switch to FormMode.Edit mode.

NewForm( FormName )NewForm( FormName )

  • FormName - 必須。FormName - Required. FormMode.New モードに切り替えるフォーム コントロール。Form control to switch to FormMode.New mode.

ResetForm( FormName )ResetForm( FormName )

  • FormName - 必須。FormName - Required. 初期値にリセットするフォーム コントロール。Form control to reset to initial values. さらに、フォームのモードを FormMode.New から FormMode.Edit に切り替えます。Also switches the form from FormMode.New mode to FormMode.Edit mode.

ViewForm( FormName )ViewForm( FormName )

  • FormName - 必須。FormName - Required. FormMode.View モードに切り替えるフォーム コントロール。Form control to switch to FormMode.View mode.

Examples

完全な例については、データ フォームについての記事を参照してください。See Understand data forms for complete examples.

  1. ボタン コントロールを追加して、Save と表示されるように Text プロパティを設定し、OnSelect プロパティを次の式に設定します。Add a Button control, set its Text property to show Save, and set its OnSelect property to this formula:

    SubmitForm( EditForm )SubmitForm( EditForm )

  2. フォーム コントロールの OnFailure プロパティを空白に設定し、その OnSuccess プロパティを次の数式に設定します。Set the OnFailure property of a Form control to blank and its OnSuccess property to this formula:

    Back()Back()

  3. ラベル コントロールに ErrorText という名前を付けて、Text プロパティを次の数式に設定します。Name a Label control ErrorText, and set its Text property to this formula:

    EditForm.ErrorEditForm.Error

    ユーザーが [Save] ボタンを選択すると、フォーム コントロール内の変更内容が、基盤となるデータ ソースに送信されます。When the user selects the Save button, any changes in the Form control are submitted to the underlying data source.

    • 送信が成功すると、変更が保存されます。または、フォーム コントールが New モードの場合、レコードが作成されます。If the submission succeeds, any changes are saved or, if the Form control is in New mode, a record is created. ErrorText が "空白" の場合、前の画面がもう一度表示されます。ErrorText is blank and the previous screen reappears.
    • 送信が失敗すると、ErrorText にわかりやすいエラー メッセージが表示されます。ユーザーが問題を修正してやり直せるように、現在の画面は表示されたままになります。If the submission fails, ErrorText shows a user-friendly error message, and the current screen remains visible so that the user can correct the problem and try again.
  4. ボタン コントロールを追加して、Cancel と表示されるように Text プロパティを設定し、OnSelect プロパティを次の式に設定します。Add a Button control, set its Text property to show Cancel, and set its OnSelect property to this formula:

    ResetForm( EditForm ); Back()ResetForm( EditForm ); Back()

    ユーザーが [Cancel] ボタンを選択すると、フォーム コントロールの値が編集を開始する前の値にリセットされ、前の画面が再度表示されます。また、フォーム コントロールのモードが New だった場合、Edit に戻ります。When the user selects the Cancel button, the values in the Form control are reset to what they were before the user started to edit it, the previous screen reappears, and the Form control is returned to Edit mode if it was in New mode.

  5. ボタン コントロールを追加して、New と表示されるように Text プロパティを設定し、OnSelect プロパティを次の式に設定します。Add a Button control, set its Text property to show New, and set its OnSelect property to this formula:

    NewForm( EditForm ); Navigate( EditScreen, None )NewForm( EditForm ); Navigate( EditScreen, None )

    ユーザーが New ボタンを選択すると、フォーム コントロールは New モードに切り替わります。フォーム コントロールのデータ ソースの既定値がそのコントロールに入力されて、フォーム コントロールが含まれた画面が表示されます。When the user selects the New button, the Form control switches to New mode, the default values for the Form control's data source populate that control, and the screen that contains the Form control appears. SubmitForm 関数が実行されると、レコードの更新ではなく作成が行われます。When the SubmitForm function runs, a record is created instead of updated.