1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Apps でデータの一括登録を行う

Last updated at Posted at 2024-10-11

はじめに

BizOptimars の井上です。
今回は、Power Apps のデータの一括登録についてご紹介したいと思います。
1 件ずつであれば、SubmitForm 関数や Patch 関数を使えば良いのですが、複数を一括で登録したい場合もありますよね。こちらの記事では、ForAll 関数と Patch 関数を組み合わせて、一括登録する方法を紹介いたします。

用意したもの

SharePoint Lists を 1 つ用意しました。
image.png

列名 データ型
タイトル テキスト
個数 数値
登録日 日付

コレクションの作成

次に、アプリのほうへ移ります。
今回は、コレクションに入っているデータを一括登録していきたいと思いますので、まずコレクションを作っていきます。

ボタンに以下のように Collect 関数を使った式を書いていきます。
image.png

Collect(
    colData,
    {
        タイトル: 備品名のテキストボックス.Text,
        個数: Value(個数のテキストボックス.Text),
        登録日: 登録日の日付入力.SelectedDate
    }
)

ここでのポイントは、データソース側とデータ型を合わせることです!
例えば、データソース側が数値型なら、コレクションに入れる段階で数値型にしておきましょう。

いくつかコレクションに追加して、ギャラリーに表示させておきます。
image.png

一括登録

では、作成したコレクションを一括登録していきます。
登録ボタンを用意して、以下のように式を書きます。
image.png

ForAll(
    colData,
    Patch(
        備品リスト,
        Defaults(備品リスト),
        {
            タイトル: ThisRecord.タイトル,
            個数: ThisRecord.個数,
            登録日: ThisRecord.登録日
        }
    )
)

これでボタンを押してみると、一括で登録ができました!
image.png

これに少し手を加えて、ギャラリーで選択したものだけ登録するように変更してみます。
まず、ギャラリーにチェックボックスを追加します。
image.png

次に、チェックボックスの OnCheck プロパティに以下の式を入れます。
チェックされたデータを入れるための colSelect という別のコレクションを作成します。
image.png

Collect(コレクション名,ThisItem)

OnUncheck プロパティには、チェックを外した際に、該当のデータをコレクションから削除する処理を行いたいので、以下の式を入れます。
image.png

Remove(コレクション名,LookUp(コレクション名,タイトル=ThisItem.タイトル))

ペンとハサミにチェックを入れて試してみます。
image.png

登録ボタンの式は、コレクションの名前を変えておきます。
image.png

これでボタンを押すと、チェックを入れたものだけデータを登録することができました!
image.png

おわりに

私自身、Patch 関数に対して最初は苦手意識がありました...。
このような使い方もできて便利なので、ぜひチャレンジしてみてくださいね!
なぜかうまくいかないなというときは、Patch 関数でまずは 1 行から試していただくと良いと思います。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?