今回はOneDriveやGoogle Driveを利用して、簡単なTo do Listのアプリを作成してみようと思います。
準備編に書いてあるようにExcelの準備をしてください。
空のテーブルではなく、データが入っていた方が作りやすいため、最低一つは入れておいてください。
(理由は後で説明します)
ExcelからPower Appsのアプリを作成する
-
Power Appsのアプリからアプリテンプレートで開始するを選択します。
-
Excelからを選択し、Excelにあるテーブルを選択して接続ボタンをクリックします。
-
使用するExcelが入っている場所を選択します。
選択が終わると右下の「アプリで作成する」ボタンが押せるようになるので、押します。
-
これでアプリが作成されます。
自動で作成されるアプリには、必ず3つのScreenが作成されます。
- BrowsScreen1
- DatailScreen1
- EditScreen1
BrowsScreen1(一覧表示画面)
BrowsScreen1はアプリ開始時に開く画面で、データソースの一覧表示を行う画面として用意されています。
今回はExcelのテーブルを指定して作成したため、データソースは選択したExcelのテーブルになります。
また、この画面には検索、並び替え、データの更新がデフォルトでついています。
「検索」にはSearch関数、「並び替え」にはSortByColumns関数、「更新」にはRefresh関数が使用されており、特に設定しなくてもこれらの機能を使用することが可能です。
DetailScreen1(詳細画面)
DetailScreen1は、データソースの中の1つのレコードの詳細を表示する画面です。
レコードの詳細が編集できないテキストとして表示されます。
EditScreen1(編集画面)
EditScreen1画面は、データの新規登録や編集を行うフォームとして利用します。
新規、編集はDefaultModeで切り替えられています。
Editの場合は編集、Newの場合は新規です。
このDefaultModeを変更する場合、NewForm関数、EditForm関数を使用します。
EditScreen1に画面が遷移するときに、新規フォームか編集フォームかを分けています。
BrowsScreen1にある「+」アイコンにNewForm関数が使用され、「>」アイコンにEditForm関数が使用されています。
NewForm関数
指定したフォームのモードをFormMode.Newに設定します。
フォームモードがNewの場合、フォームを送信すると、データソースに対するレコード追加が行われます。
EditForm関数
指定したフォームのモードをFormMode.Editに設定します。
編集フォームのItemプロパティで指定されたレコードがフォーム内に表示されます。
編集フォームの送信時には既存レコードの上書きが行われます。
また右上にある「レ」にはSubmitForm関数が使用されており、新規入力されたデータを登録したり、編集したりすることができます。
SubmitForm関数
フォームで使用する関数です。
編集フォームで行われたデータの編集内容をデータソースに登録します。
編集フォームの内容が必須やデータ型に問題ないか、Validプロパティでチェックもしてくれます。
この入力チェックにエラーがあった場合、編集フォームのErrorプロパティとErrorKindプロパティにエラーに関する情報がセットされ、成功時にはErrorプロパティとErrorKindプロパティの値がクリアされます。
Tableにデータを1つでも入力しておいた方がよい理由
EditScreen1の「日付」の部分に、日付入力ができる「日付の選択」が自動で入っていることで分かるのではないでしょうか。
日付のデータを入れておくこと(セルの書式設定で日付型を選択しておくこと)で、アプリ作成時、自動的に日付選択を選んでくれています。
今回は簡単なアプリのため入力項目は少ないですが、すべての入力項目を一から変更するのは手間なので、データを見て自動判別してくれるなら、これを有効に活用した方がよいです。