超間違いやすい。Patch関数で選択肢列を更新する方法(キャンバスアプリ)
Patch関数はデータを更新するのに用いるメソッドです。
ただ、選択肢を持つレコードを更新する場合には、少し工夫が必要です。
今回は、キャンバスアプリにてPatch関数で選択肢列を更新する方法について紹介します。
内容は私が実際に実装して確かめている内容です。
ぜひあなたに合う形に置き換えて考えてもらえればと思います!
目次(クリックで読みたい部分にジャンプできます)
【ポイント】選択肢の値を反映させれば良いわけではない
Patch関数を使用して、
選択肢列を更新したい場合にはどう書こうと思うでしょうか。
よくあるのが、(私も試しましたが。。)
選択肢の値をPatch関数に当てはめて、更新させようとすることです。
選択肢の値とは、データテーブルを開いて特定の列の編集画面を開いたところに出るものです。(詳しくは後述します)
以下では、「1,2,3,6,12」などの数字がそれにあたります。
選択肢の値を用いて更新する失敗例
f
こんな感じで、IDが1234というレコードに対して、
「3ヶ月」という選択肢に更新しようとした例ですね。
ただ、これではうまくいきません。
実は、Patch関数で更新するときには、値を受け付けているわけではないからです。
では、選択肢列を更新するにはどうすれば良いか??
次章からその方法について説明していきます。
【結論】選択肢列をPatch関数で更新する方法
選択肢列をPatch関数で更新するには、
Patch関数内で、選択肢を抜き出し指定してあげる必要があります。
①データベースから対象の選択肢列と同期している選択肢を調べる
まずは、どの選択肢列を抜き出す必要があるか調べる必要があります。
更新したい選択肢列をデータベースから探しましょう。
コメント
今回は、例として「更新期間」という列で行います。
列の編集を選択して、
開くと真ん中より下の方に「選択肢を同期する相手」という項目があります。
ここの値をPatch関数で指定します。
例だと「期間種別」という値です。
この選択肢が大元の選択肢であり、ここからどの値に更新したいかを取得してくる必要があります。
この「選択肢を同期する相手」に記載されている項目は、これから使うので覚えておいてくださいね!
②「選択肢を同期する相手」を用いてPatch関数を記載
先ほどの選択肢を同期する相手を使用して、Patch関数を記載します。
Patch(テーブル名, LookUp(テーブル名, ID=1234), {"選択肢列の論理名":同期する相手の名称.ラベル})
このような書き方になります。
もし、私の場合の例で行うと、
Patch(テーブル名, LookUp(テーブル名, ID=1234), {"選択肢列の論理名":期間種別.'1ヶ月'})
このように指定します。
ただ、全部自分で書く必要はなく、
キャンバスアプリで入力しているときに、補完機能が出てくれます。
同期する選択肢の名称を書いたところで、付随するラベルも一覧で出てきますので、そこから選ぶようにすれば間違いは少なくなるでしょう。
PowerAppsを学ぶにはUdemyがおすすめ
この記事では
これで、キャンバスアプリにおいてPatch関数を用いて選択肢列を更新する方法について紹介していきました。
この知識も私がUdemyで学んだことから得られたものです。
実は、Udemyでは本には載っていない専門的な分野や最新の技術トレンドに関する豊富なコースが用意されています。
これらのコースを通じて、私は多くの実践的なスキルを身につけることができました。
あなたもUdemyで新しい技術を学び、キャリアや趣味に生かしてみませんか?
興味のあるコースを探して、今すぐ学び始めることができます。
下記のリンクからアクセスして、あなたに合ったコースを見つけてください。
PowerAppsのさらに深い理解と実践的なスキルを身につけるために、Udemyのコースを活用することをお勧めします。
まとめ
今回のPatch関数を用いた選択肢列の更新については、初めてやろうと思うと結構な確率でハマるところだと思います。
今回の記事で、その解消の一助になれば幸いです。
このブログでは、PowerAppsの解消法についてさらに他の分野も解説していますので、困ったときには検索窓から検索してみてくださいね。
では、また。