【初心者向け】SubmitFormで追加されたレコードに対してPatch関数を使う方法(Patch関数)| PowerApps

難易度】★★☆☆☆ 
【時 間】10分程度

今回は、PowerAppsにおいて、SubmitFormで追加されたレコードに対してPatch関数を使う方法についてご紹介します。どちらかと個人的な備忘用の記事になりますが、もし皆様の参考になれば幸いです。

目次

Patch関数とは

Patch関数とは、データソースのレコードを作成・更新する際に使用される関数です。
指定したデータソースのレコードに対して、フィールドの値を動的に変更したり、新しいデータを追加できます。

なお、本記事では以下の3種類の変更方法だけをまとめます。

<全てSubmitFormされたレコードに対して>

  • パターン1:「テキスト列」を変更する方法
  • パターン2:「選択肢列」を変更する方法
  • パターン3:「ユーザー列」を変更する方法

パターン1:「テキスト列」を変更する方法

Patch関数でテキスト列を変更する場合、以下を参考に関数を入力。

//参考
Patch(
    リスト名,   
    フォーム名.LastSubmit,
    {列名: "上書きしたい文字列を入力"})

例としては以下のとおり。

//例
Patch(
     Patch関数テスト,    //リスト名
     Form1.LastSubmit,   //フォーム名
     {テキスト列: "かきくけこPatch"})  //リスト列(表示列名)及び文字列

上記の例では、
「Patch関数テスト」というSharePointリスト内のレコードについて、
(→アプリ内「Form1」で最後にSubmitFormされて作成されたレコード)
「テキスト列」という名前の列が「かきくけこPatch」という文字列で上書きされる。

パターン2:「選択肢列」を変更する方法

Patch関数で選択肢列を変更する場合、以下を参考に関数を入力。

//参考
Patch(
     リスト名,
     フォーム名.LastSubmit,
     {列名: {Value: "選択肢の内容"}})

例としては以下のとおり。

Patch(
     Patch関数テスト,      //リスト名
     Form1.LastSubmit,   //フォーム名
     {選択肢列: {Value: "選択肢B"}})  //リスト名(表示列名)及び選択肢

上記の例では、
「Patch関数テスト」というSharePointリスト内のレコードについて、
(→アプリ内「Form1」で最後にSubmitFormされて作成されたレコード)
「選択肢列」という名前の列が「選択肢B」という選択肢で上書きされる。

選択肢の場合、テキスト列と比較すると「{ }」で囲う箇所・記載内容が異なるので注意です。

パターン3:「ユーザー列」を変更する方法

最後にPatch関数でユーザー列を変更する場合、以下を参考に関数を入力。

//参考
Patch(
        リスト名,
        フォーム名.LastSubmit,
        {
            列名: {
                Claims: "i:0#.f|membership|" & Lower(メールアドレス),
                Department: "",
                DisplayName: "",
                Email: "",
                JobTitle: "",
                Picture: ""
            }
        }

例としては以下のとおりです。

//例
Patch(
        Patch関数テスト,   //リスト名
        Form1.LastSubmit,  //フォーム名
        {
            ユーザー列: {    //リスト名(表示列名)
                Claims: "i:0#.f|membership|" & Lower(User().Email), //操作者のアドレスを指定
                Department: "",
                DisplayName: "",
                Email: "",
                JobTitle: "",
                Picture: ""
            }
        }

上記の例では、
「Patch関数テスト」というSharePointリスト内のレコードについて、
(→アプリ内「Form1」で最後にSubmitFormされて作成されたレコード)
「ユーザー列」という名前の列に、操作者のユーザーデータが上書きされる。

ユーザー列の場合、テキスト列と比較すると入力項目が大幅に異なるので注意です。

まとめ

本記事では、SubmitForm後のPatch関数適用について、3パターンに分けてご紹介しました。
タスク管理アプリ等の場合、ステータスを「完了済み」にするなど活用法はあるかなと思いますので、是非参考にしてください。
最後までご覧いただきありがとうございました。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次