PowerApps|SubmitForm関数|フォームの情報をデータソースに送信

フォームの情報をデータソースに向けて送信する
PowerAppsのフォームを使って入力された情報をデータソースに向けて送信してみます。

SharePointリスト等のデータソースには列がたくさんあります。
相当複雑な式を組まないといけない気がしています・・・



どれだけ列があっても全く問題ないです。
SubmitForm関数を使えば1クリックで解決です。
具体的な関数名が出ました。「SubmitForm関数」です。
本記事ではSubmitForm関数を使ってフォームの情報をデータソースに向けて送信してみます。
関連情報
本記事の内容を実行するためにはまずはフォームを用意する必要があります。
フォームの表示モードを変更する方法を解説しています。
フォームはギャラリーとも関連が強い要素です。ギャラリーを勉強したい人におすすめの記事です。
関連書籍


フォームとは
フォームについてはこちらの記事をご覧ください。定義、作り時、作り方の説明をしています。


フォームの情報を送信するとは
「フォームの内容を送信する」をもう少し具体的に書いてみます。
フォームに用意した情報をデータソースに展開する
さらに具体的に書きます。
- データソースの情報を編集する
- データソースに新規情報を書きこむ
データソースはSharePointリストに読み替えることができます。やってみましょう。
フォームに用意した情報を使ってSharePointリストを編集、もしくは新規情報を書きこむ
つまりPowerAppsからSharePointリストを操作することができます。すごい事ですよね。
SubmitForm関数
フォームに用意した情報をデータソースに展開することができる関数を紹介します。
定義
Microsoft公式ドキュメントから情報を抜粋しておきましたのでご覧ください。
SubmitForm関数
Button コントロールの OnSelect プロパティで SubmitForm 関数を使用して、Form コントロールの変更をデータ ソースに保存します。
Microsoftドキュメント:EditForm、NewForm、SubmitForm、ResetForm、ViewForm 関数から抜粋
ボタンを用意してOnSelectプロパティにSubmitForm関数を用意します。
関数にパラメータとして適宜情報を与えることでデータソースに情報を展開することができます。
式
非常に簡単です。ボタン等トリガーとなる要素のOnSelectプロパティに以下式を記入してください。
SubmitForm(対象のフォーム)
これだけでOKです。フォーム内全ての情報がデータソースに送信されます。
事例
では実際にSubmitForm関数を使ってみましょう。以下事例をご覧ください。
本事例ではSharePointリストにある情報を「編集」します。(フォームの表示モードについてはこちら)
動作環境を用意する
PowerAppsとSharePointを接続した後に特定のリストとPowerApps内のフォームを連携させます。
(データ接続が分からない方はこちらの記事をご覧ください)


SharePointのリストは「d-down」という名前です。各列の情報は以下テーブルをご覧ください。
(リストの作り方が分からない方はこちらの記事をご覧ください)
番号 | 列名 | データ型 |
---|---|---|
1 | no | 1行テキスト |
2 | name | 1行テキスト |
3 | maker | 1行テキスト |
4 | unitprice | 数値 |
5 | stock | 数値 |
フォームは「Form1」という名前です。フォームのプロパティに用意する情報を提示します。
番号 | プロパティ | 式 |
---|---|---|
1 | DataSource | ‘d-down’ |
2 | DefaultMode | FormMode.Edit |
3 | Item | LookUp(‘d-down’, no = “20”) |
フォームは編集モードです。今回はリストの特定のレコードを狙ってフォームに情報を表示させています。
SubmitForm関数を用意する
フォームの下に用意したボタンのOnSelectプロパティにこちらの式を記入してください。
SubmitForm(Form1)
フォーム内name列の内容を書き換える
今回はデータソースの編集です。よってデータソースを書き換えます。
name列の「マウス」を「マウス(ワイヤレス)」に変更します。


テスト
では送信ボタンを押してみます。SharePointを確認してみましょう。


name列以外の列は同じ情報を上書きしたことになります。
これでフォームからSharePointリストの情報を書き換えることができました。
メリット/デメリット
最後にフォームを使うことによるメリット、デメリットを紹介しておきます。
メリット
これは式を作る際大幅な時短になります。加えて思考も単純です。



とにかくフォームに入れてまとめて送ってしまうという考え方です。
深く考えずまずは「SubmitForm」関数を使ってみてください。
デメリット
こんな時はPatch関数を使って情報を1つずつデータソースに送るという方法をとります。(今回は説明しません)



Patch関数ですか。初心者向けではなさそうですね。
スキルが上がってきたら勉強してみます。
まとめ
PowerAppsのフォームを使って入力された情報をデータソースに向けて送信してみました。
具体的にはボタンを用意しつつSubmitForm関数を使ってフォームの情報をデータソースに送信しています。
このようにPowerAppsでは様々なコントロール、関数を組み合わせて1つの環境を用意します。
よってこのような考え方、事例は他の環境を用意する時も必ず役立ちます。
ただの作業だけにならないように実行環境も含めて理解することをおすすめします。

