2022年11月15日火曜日

【PowerApps】Form経由じゃないデータベース更新ってどうするの?

event_note11月 15, 2022

 プログラミング未経験者がPowerAppsでアプリを作っていたりしているのを見て、すごいな!面白そうだな!と思って、アプリをつくる練習をしはじめました。

エディタに入力した値を、データベースに更新するというところは何とかできるようになりました。

Form⇔データベースの紐づけをして、Form上に入力エディタなどを配置すると、submitFormat(Form名)という風に関数を使えば、コントロールに入力された値を簡単にテーブルに更新してくれるということがわかりました。

PowerApps初心者の私としては、この時点で、テーブル更新するのはsubmitFormat関数ね!という理解。

ところが、このかなり大雑把な理解で困ったことがすぐに発生しました。

Form経由じゃないデータベース更新ってどうする?

え、コントロールへの入力値以外をデータベースに更新するときって、どうするの!?

という事です。

例えば、なんらかの処理結果やボタンを押した日時をログとしてデータベースに更新したいとき等です。

Collect関数を使う

そこで、調べてみるとCollect関数を使えばよいと!なるほど。

これを使えば、データベースを更新できるんですね!
下の例では、

「操作ログ」というテーブルの
「操作」列に"追加"という値を
「結果」列に"NG"という値を

更新します。

Collect(操作ログ,{操作:"追加",結果:"NG"});