Power Apps編集フォームでレコード登録、更新及び削除を簡単にする方法【SubmitForm関数、Remove関数の活用】

はじめに

Microsoft Power App(以下、Power Apps)は、専門性の高い技術や開発の経験を持たなくてもビジネス ニーズに対応するモバイル アプリや Webアプリを比較的簡単に作成できるローコード ツールです。

Microsoft Teams(以下、Teams)では、Power Appsアプリを使用して、該当するチームのメンバー全体又は権限を有するメンバーが利用できるアプリを作成することができます。

本サイトでは、Teams の Power Apps を利用してアプリを作成する上で役に立つちょっとしたテクニックを紹介しています。

フォームを使ったレコードの登録や更新作業は、初めての方にとっては少々ハードルが高いかもしれません。この記事では、SubmitForm関数 や Remove関数を用いて、Power Apps の編集フォームで簡単にレコードを登録や更新、削除する方法を詳しく解説します。具体的な手順や注意点を押さえ、誰でも手軽に操作できるようにサポートします。これにより、業務の効率化とデータ管理の精度向上が期待できます。

編集フォームの基本概念

Power Apps の編集フォームは、データの「登録、更新、削除」を行うための重要なコンポーネントです。編集フォームは、ユーザーが「レコード」を操作する際に利用されます。

powerapps-record-management-tips01
  • データの登録や更新には、「SubmitForm関数」を使用します。この関数は、フォームに入力されたデータをデータソースに送信します。
  • 一方、不要なレコードを削除するには、「Remove関数」を使います。Remove関数は特定のレコードをデータソースから削除するために使用されます。

これらの関数を適切に利用することで、効率的なデータ管理が可能になります。

PowerApps での編集フォームの設定

Power Apps に編集フォームを配置する手順は次のとおりです。

  1. PowerApps の「画面」から、新しい画面を追加します。
  2. Power Apps の画面に新しい編集フォームを追加します。左側のメニューの「挿入」から「編集フォーム」を選択します。
    powerapps-record-management-tips04
  3. 編集フォームの「データソース」プロパティに表示するレコードが含まれているデータソースをバインドします。
  4. データソースから必要なフィールドを編集フォームにレイアウトします。

レコードの「新規登録」や「更新」には SubmitForm関数を使用し、フォームデータをデータソースに送信します。

powerapps-record-management-tips02

レコードの削除には Remove関数を利用します。特定のレコードを選択し、この関数を適用することで簡単に削除が可能です。

powerapps-record-management-tips03

また、編集フォームのモードを設定するためには、DefaultModeプロパティを使います。コンテキスト変数を用いて DefaultModeプロパティの値(新規/編集/ビュー)を制御することで、新規レコードの作成や既存レコードの編集がスムーズに行えます。

コンテキスト変数の使い方については、次の記事も参考にしてください。

関連記事

Microsoft Power App(以下、Power Apps)は、専門性の高い技術や開発の経験を持たなくてもビジネス ニーズに対応するモバイル アプリや Webアプリを比較的簡単に作成できるローコード ツールです。 Micro[…]

powerapps_updatecontext_00

編集フォームのメリット

編集フォームを活用することで、ユーザーは直感的に操作でき、エラーの発生を最小限に抑えることが可能です。さらに、リアルタイムでのデータ更新が可能なため、常に最新の情報を保持できます。

Power Apps の編集フォームは、カスタマイズ性が高く、特定の業務ニーズに合わせて柔軟に対応できる点も魅力です。ユーザーインターフェースもシンプルで、特別な技術知識がなくても簡単に利用できます。

新規レコード登録の方法

編集フォームで新規レコードを登録するには SubmitForm関数を使用します。

  1. 編集フォームの DefaultModeプロパティに「FormMode.View」を設定します。例えば「新規」ボタンを配置し、OnSelectプロパティで UpdateContext関数によりコンテキスト変数として値を渡します。これにより編集モードは新規モードで開きます。
  2. ユーザーが編集フォームの各フィールドを編集した後、SubmitForm関数を呼び出してフォームの内容をデータソースに送信します。例えば「保存」ボタンを配置し、OnSelectプロパティに「SubmitForm(EditForm1)」と設定します。
  3. これにより、入力データがデータソースに新規レコードとして登録されます。

レコードの更新方法

編集フォームで既存のレコードを更新するにも SubmitForm関数を使用します。

  1. 編集フォームの DefaultModeプロパティに「FormMode.Edit」を設定します。例えば「編集」ボタンを配置し、OnSelectプロパティで UpdateContext関数によりコンテキスト変数として値を渡します。これにより編集モードは現在選択されているレコードを編集モードで開きます。
  2. ユーザーが編集フォームの各フィールドを編集した後、SubmitForm関数を呼び出してフォームの内容をデータソースに送信します。例えば「保存」ボタンを配置し、OnSelectプロパティに「SubmitForm(EditForm1)」と設定します。
  3. これにより、現在選択されているレコードが入力データで更新されます。

レコードの削除方法

Power Apps の編集フォームでレコードを削除するには、Remove関数を使用します。

  1. 編集フォームの DefaultModeプロパティに「FormMode.View」を設定します。例えば編集フォームを開くときの初期値として設定します。これにより編集モードは現在選択されているレコードをビューモードで開きます。
  2. 既存のレコードが編集フォームに表示されている状態で Remove関数を呼び出してレコードを削除します。例えば、「削除」ボタンを配置し、クリックしたときにレコードを削除する場合、ボタンのOnSelectプロパティに「Remove(VegetableInfo, selectedRecord)」と設定します。
  3. これにより、指定した条件に一致するレコードが削除されます。

エラーハンドリング

SubmitForm や Remove関数を使用したレコードの新規登録や更新、削除では、ユーザビリティを向上させ、データの整合性を保つために適切なエラーハンドリングを行います。

新規登録又は更新時のエラーハンドリング

レコードの新規追加や既存レコードを更新した際にエラーが発生した場合にはエラーメッセージを返します。編集フォームの OnFailureプロパティを設定し、エラーが発生した場合にユーザーに通知します。

OnFailure: Notify("レコードの登録に失敗しました。もう一度お試しください。", NotificationType.Error)

また、OnSuccessプロパティを設定して、登録が成功した場合にユーザーに通知することも可能です。

OnSuccess: Notify("レコードが正常に登録されました。", NotificationType.Success)
powerapps-record-management-tips05

レコードの登録や更新の前に、データの検証を行うこともできます。間違ったデータが入力されると、後々の管理が困難になります。例えば、必須フィールドが空でないかを確認するために、以下のように設定します。

If(
    IsBlank(DataCardValue1.Text),
    Notify("必須フィールドが空です。入力してください。", NotificationType.Error),
    SubmitForm(EditForm1)
)

削除時のエラーハンドリング

削除前に確認メッセージを表示することで、誤って重要なデータを削除しないようにすることが重要です。編集フォームに削除対象のレコードが表示されている状態で「削除」ボタンが押された場合、確認メッセージコンテナに遷移し、「実行」ボタンを押すことで削除を実行します。

削除操作は Remove関数を使用して行います。その後、IfError関数を使用して削除操作にエラーが発生したかどうかを確認します。削除が成功した場合、アプリの状態を初期化し、ユーザーインターフェースを適切に更新します。

まとめ

Power Appsの編集フォームを活用することで、レコードの登録、更新、削除が簡単に行えるようになります。SubmitForm関数と Remove関数を適切に使用することで、効率的なデータ管理が可能です。また、処理実行時の確認メッセージを設定することで、誤操作を防ぎ、データの安全性を確保することができます。

この記事を参考にして、Power Appsを使ったビジネスプロセスの自動化や効率化を実現してください。適切な設定と操作方法を理解することで、業務の生産性を大幅に向上させることが期待できます。