2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Power Apps】Patch関数を使ってSharePointリストへユーザー型の列を登録する方法

Last updated at Posted at 2022-10-12

お客様から実際に何度か受けた質問シリーズ。

Power Apps のキャンバスアプリで、SubmitForm関数を使わずに
Patch関数を使って SharePointリストのユーザー型の列にファイルを登録する方法です。

今回の条件

・ Power Apps キャンバスアプリ
・接続先は SharePointリスト

質問いただく背景

キャンバスアプリでは、フォームを設置してSubmitForm関数を使うとキャンバスアプリと接続しているデータソースに対して登録・更新・削除を行うことができます。

ですが、入力エリアのデザインカスタマイズをもっとしたい場合、フォームパーツだとどうしても希望通りにレイアウトを組むことが難しい場面があります。

そんな場合は、一つ一つテキスト入力ボックスなどの入力パーツをキャンバス上に配置して、Patch関数を使うのですが。。。

ドロップダウンやコンボボックスで選択したユーザーの値をSharePointリストへ登録したい。
けれど、メールアドレスや氏名の値を送信するだけでは登録がうまくいかない。
どうやって書けばいいの?

こちらの質問をよくいただきますので、実装方法を書いてみたいと思います。

キャンバスアプリ

ユーザー型Patch1.png

一番上にテキスト入力ボックス、2番目にユーザーを選択するドロップダウンを配置しています。

送信ボタンのOnSelectプロパティの設定

ユーザー型Patch2.png

Power Apps の Patch 関数

ユーザー型の列に対して登録をする時は、{} で囲われた部分に複数項目の情報を入れてあげないとエラーになります。
(最初これがわかっておらず、調べました。。。)

ユーザー型の列名:
    {
    Value:User().Email,
    '@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedUser",
    Claims:  "i:0#.f|membership|" & Lower(User().Email),
    Department: "",
    DisplayName: "",
    Email: "",
    JobTitle: "",
    Picture: ""}
    }

今回は、キャンバスアプリを使っているユーザーのメールアドレスをセットしています。

ユーザー型Patch3.png

ボタンを押して送信します。

ユーザー型Patch4.png
ユーザー型の列に値が登録できました!

最後に

Patch関数を使ってSharePointリストのユーザー型の列に対してファイルを登録したい時の参考になれば幸いです。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?