6
9

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 5 years have passed since last update.

【PowerApps】Patch関数で新しいレコードを作成するのにDefaults関数はいらない?

Last updated at Posted at 2019-05-10

Patch関数を使って新しいレコードを作成する時にDefaults関数を使いますよね。
これはMSの公式ドキュメントにそう書いてあるからです。下がその画像です。

MSのPatch関数の説明ページへ:
Patch関数の説明.PNG

OnSelect = Patch(Customers,Defaults(Customer),{Name:"Contos"})

ところが最近このページを見つけました。
PowerApps: Replace the Defaults() function to improve performance

このブログを書いている方は英語圏のPowerAppsのフォーラムで一番信頼されている方です。そのページで書かれている事は上記の式だとDefaults関数とPatch関数でデータソースに二回アクセスしているのでアプリのパフォーマンスが落ちるというのです。

そこで次の下の式でも新しいレコードを作成できると書いてあります。実際にやってみて全然問題無くできました。

OnSelect = Patch(Customers,{ID:Blank()},{Name:"Contos"})

式内の「ID」はプライマリコードでと書いてありますが、既存のフィールド名ならなんでも良い感じです。実験してみて下さい。

これでデータソースへのアクセスが一回で済むから、アプリが少し速くなるし、何と言っても書くのが短くなるので自分も楽ができます。

6
9
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
6
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?