Power Appsの 一覧・詳細・編集作成画面について(三島 正裕の Microsoft Power Platform 業務効率化コラム 第6回)
目次
はじめに
Microsoft Power Platform 業務効率化コラムを書かせていただいている三島です。今回も業務改善やDX推進のヒントになる話題を皆様にお届けしたいと思います。
Power Apps の機能には、Excelや SharePointリスト等のデータソースからアプリを自動作成する機能があるのですが、そこで作成される一覧画面、詳細画面、編集作成画面の仕組みについて解説したいと思います。関数が色々と登場するので、少し大変ですが、ある程度の仕組みを頭に入れていると、業務に合わせたカスタマイズもし易くなりますので、ぜひご一読いただければと思います。
3画面構成のアプリを作成する
メニューから「作成」を選択するとアプリ作成画面に Dataverse や SharePoint 等のデータソースが表示されますが、解説に「3画面構成のアプリを作成」とあります。
ここで作成される画面が、一覧画面、詳細画面、編集作成画面です。具体的なアプリの作成方法は下記サイトで紹介をしていますので、こちらをご覧いただければと思います。
Excelで作成している業務報告書をスマホアプリにするには
(三島 正裕の Microsoft Power Platform 業務効率化コラム 第2回)
https://dx.si-jirei.jp/cloud-column-microsoft_powerplatform-2/
一覧画面
「作成」メニューで選択したデータソースを一覧表示する画面です。一覧はギャラリーというコントロールで表示しています。一覧画面のヘッダーには「再読み込み」や「並び替え」、「新規登録」のアクションが、それぞれ設定された各アイコンが用意されています。
アイコン①:再読み込み
一番左側にあるアイコンです。データ一覧(ギャラリー)に紐づくデータソースを再読み込みします。アイコンを押した時に実行されるアクションを設定する OnSelect というプロパティには Refresh という関数が設定されています。この Refreshを使用すると、カッコの中にあるデータソースを再読み込みすることができます。更新したはずのデータが一覧に反映されていないときなどに使用します。
アイコン②:並べ替え
真ん中にあるアイコンです。ギャラリーに表示されているデータを昇順、降順で並び替えます。UpdateContextという「変数を作成する」関数を使用しており、アイコンを押す度に変数の中身をTrueとFalseで切り替えます。ギャラリーは変数の中身によって、昇順と降順を切り替える仕組みですが、具体的な並び替えの仕組みについては少し複雑ですので、当連載コラムの第4回の説明を参考にしていただければと思います。
Power Apps のデータの並び替えと検索機能について
(三島 正裕の Microsoft Power Platform 業務効率化コラム 第4回)
https://dx.si-jirei.jp/cloud-column-microsoft_powerplatform-4/
アイコン③:新規登録
新しいデータを作成するための画面が開きます。画面の移動にはNavigateという関数が使われています。Navigate関数は、カッコの中で移動先の画面名を指定することによって、その画面へ移動するアクションを設定することができます。画面を切り替える際のアニメーションも設定することができます。
アイコンのプロパティを見ると、Navigateの前にNewFormという関数がセットされていることがわかります。このNewFormが実行されると、対象の編集フォームは新規作成の状態になります。データ入力後にSubmitForm 関数を実行すると、編集フォームで入力した値がデータソースに保存され一覧画面へ戻ります。新規作成の状態も解除されます。
詳細画面
一覧画面で選択したデータを詳細表示する画面です。データの詳細表示にはフォームコントールが使用されています。ヘッダーには、「戻る」、「削除」、「編集」のアクションがそれぞれ設定された各アイコンが用意されています。
アイコン①:戻る
左側にあるアイコンを押すと一覧画面へ戻ります。OnSelectプロパティには画面を移動する関数 Navigate がセットされています。
アイコン②:削除
ゴミ箱のアイコンを押すと、フォームコントロールに表示しているデータを削除することができます。Remove という関数が使用されており、データソースと削除する条件を指定することで、対象となるデータを削除することができます。
Remove関数の後ろにはIf文が設定されていますが、これはデータを削除した際にエラーが発生していないかを確認するためにあります。削除中に何かエラーが発生すれば、Errorsという関数でエラー情報をテーブル形式で受け取ることができます。このテーブルにエラー情報があるかどうかを判定するのが IsEmpty という関数です。エラーテーブルに何もエラーがなければ true が返り、Back() という関数が実行されます。Back()は前の画面に戻るアクションを起こしますので、この場合は一覧画面に戻ります。
アイコン③:編集
表示しているデータを編集作成画面で開きます。アイコンのプロパティを確認すると、Navigateの他にEditForm が使われているのがわかります。EditForm を実行すると対象のフォームを編集状態にします。編集作成画面でSubmitForm 関数が実行されると、編集フォームで入力した値がデータソースに保存されます。編集状態も解除され、一覧画面へ戻ります。
補足:エラー処理について
詳細画面のゴミ箱アイコンではErrorsという関数が使われていました。このErrors関数はデータソースを変更した際にエラー情報を提供します。例えばデータ操作が他のユーザーと競合したり、ネットワーク障害が起きたりした際に情報が提供されます。これは開発中に起きるエラーの事例ですが、Excelテーブルを基にアプリを作成した際、Excelを開いたままアプリ側でデータ操作をおこなうと、Excelテーブルがロックされているために編集や削除が行えず、エラーが表示されます。例えば、Excelテーブルを開いた状態で、削除アイコンを押してみるとエラーが表示され、画面が切り替わらないことがわかるかと思います。
Errors関数はエラーをテーブルで返します。詳細画面にある削除アイコンのOnSelectプロパティよりErrors関数の箇所を切り取り、データテーブルコントロールで表示してみましょう。Excelテーブルにロックがかかっていると、Message列に「要求されたリソースはロックされています。」と表示されるはずです。
編集作成画面
データ編集または新規登録をするための画面です。データの表示にはフォームコントールが使用されています。ヘッダーには、「キャンセル」、「チェック」の2つのアイコンが設定されています。
アイコン①:キャンセル
入力フォームをリセットし、初期状態に戻した後、Back関数で、一つ前の画面に戻ります。新規登録の場合は一覧画面へ、編集の場合は詳細画面に戻ります。
アイコン②:チェック
SubmitForm関数が設定されており、実行することで編集フォームに入力された値を保存します。事前にNewForm、または EditForm が実行されている必要があります。
今回のまとめ
- データからアプリを自動作成すると、一覧画面、詳細画面、編集作成画面が作成される。
- データの再読み込みにはRefresh関数を使う。
- 画面の移動は Navigate関数を使う。
- 編集フォームはNewFormで新規登録、EditFormで編集状態になる。
SubmitFormが実行されるとデータが保存され、新規登録または編集状態が解除される。 - データ更新時のエラーはErrorsのMessage列で確認をすることができる。
データからアプリを作成した際、初学者が躓きやすいポイントの1つにフォームの操作があります。フォームの仕組みは少し複雑で、慣れるまでが大変ですが、業務アプリ開発では避けて通れない箇所でもありますので、ぜひトライをしてみてください。今回の内容が参考になれば幸いです。Power Platform に関しましては、お気軽にディーアイエスサービス&ソリューションにお問い合わせください。それでは次回もお楽しみに。
筆者プロフィール
ディーアイエスサービス&ソリューション株式会社
クラウドサービス 担当 三島 正裕(みしま まさひろ)
2002年入社。島根県出身。
Microsoft 365 に関する製品導入や初学者向けの教育支援を担当。Power Platform を中心に教育コンテンツの開発やサービス企画をする傍ら、社内向けの業務アプリ開発にも取り組んでいる。
本コラムは2023年10月現在の情報を基に作成しています。
三島 正裕の Microsoft Power Platform 業務効率化コラム
- 第1回:ローコード開発ツール Power Apps に触れてみよう
- 第2回:Excelで作成している業務報告書をスマホアプリにするには
- 第3回:Power Apps でテキストラベルを使ってみよう
- 第4回:Power Apps のデータの並び替えと検索機能について
- 第5回:Power Apps のフォームコントロールについて
- 第7回:Power Apps の編集フォームにユーザー情報を表示する
- 第8回:Power Apps アプリにドロップダウンで選択肢を追加する
- 第9回:Power Apps アプリで更新通知をメールする
- 第10回:Power Apps アプリの保存と共有について
- 第11回:Power Apps でタイムカードアプリを作成する① SharePointリストの作成方法について
- 第12回:Power Apps でタイムカードアプリを作成する② Power Apps アプリの作成方法について
- 第13回:Power Automate で設定した時間にアラートメールを送信する
- 第14回:Power Automate でアダプティブカードを使用した残業申請フローを作成する