Patch関数を使ってテーブルを更新
PowerAppsのPatch関数で更新がうまくいかないとき用です!
使い方を再確認しましょう。
Patch関数って?
テーブルなどのデータソースを作成、更新するための関数です。
似たような関数でUpdate関数やUpdateIf関数があります。
- Patch(データソース, 変更したいレコード, 変更内容)
- データソース: 対象のデータソースを指定します。データベースやSharePointリストなどの外部データソースやコレクションにも使用することが出来ます。
- 変更するレコード: 更新したいレコードを指定します。このレコードに対して更新または新しいレコードが追加されます。
- 変更内容: レコードの変更、更新内容を指定します。
実際に使ってみる
コレクションを用意
まずは上記画像のような果物がリストされているコレクションを作成しましょう。
data1:通し番号、data2:果物、data3:登録日、data4:値段という感じです。
コレクションの作成コードはこちら
- ClearCollect(
- col_samplelist,
- {
- data1:1,
- data2:”りんご”,
- data3:Date(2023,5,22),
- data4:100
- },
- {
- data1:2,
- data2:”みかん”,
- data3:Date(2023,5,23),
- data4:210
- },
- {
- data1:3,
- data2:”レモン”,
- data3:Date(2023,5,24),
- data4:130
- }
- )
ボタンのOnSelectにコピペして、作成してください。
作成したコレクションは変数-コレクションやデータテーブルに追加してから確認してください。
レコードの追加
まずはレコードの追加の方法です。
「バナナを追加したい!」となったときに以下のようなコードを使います。
- Patch(
- col_samplelist,
- Defaults(col_samplelist),
- {
- data1:4,
- data2:”バナナ”,
- data3:Date(2023,5,25),
- data4:250
- }
- )
データソースは”col_samplelist”, 変更したいレコードは今回はないのでテーブルの既定値を返すDefaults関数, 変更内容は追加したいレコードという風にします。
実行すると以下の画像のようにバナナのレコードが作成されます。
レコードの変更
レコードの更新の方法です。
「レモンの値段を変更したい!」となったときに以下のようなコードを使います。
- Patch(
- col_samplelist,
- LookUp(col_samplelist,data1=3),
- {
- data4:160
- }
- )
データソースは”col_samplelist”, 変更したいレコードはレモンなのでLookUp関数で”col_samplelist”からレモンのdata1である3を指定します。
変更したい内容はレモンの値段を130円から160円にしたいのでdata4に160を指定します。
実行すると以下の画像のようにバナナのレコードが作成されます。
さいごに
今回はPowerAppsでPatch関数を使ってみました。
データソースの更新に必須の機能なので使い方を覚えてしっかり使いこなしたいですね。
今回は以上です!お疲れ様でした!