知識ゼロからはじめるローコーディング開発

Power Platformでのアプリ開発について、いろいろと書きたいと思います。

Power Appsで指定した回数だけループするには

Power Apps には一般的なプログラミングにある「ループ処理」という機能が実装されていないので、「同じ処理を指定回数繰り返す」という処理をさせるのは少し難しかったりします。Webで検索をすると、様々な方法を見つけることが出来るのですが、簡単な方法をここでも1つ紹介させて頂きたいと思います。

 

指定した回数だけコレクションのデータを増やす

フォームに入力した数値の数だけ、コレクションにデータをセットしてみたいと思います。用意するのはループ回数をセットする「テキスト入力」と「タイマー」です。

f:id:island3m:20210907164914p:plain

 

Timerを押したときの処理を、プロパティ「OnSelect」にセット

最初に「テキスト入力」にセットされた値を変数「CntEnd」に数値としてセットします。関数Valueを使って数値にしています。続いて、ループ回数をカウントする変数Cntを宣言して、初期値に1をセットします。

f:id:island3m:20210907165043p:plain

 

Timer1のプロパティを変更

期間を「1」、繰り返しを「オン」にセットします。この設定でTimerを実行すると、1ミリ秒のカウントを延々と繰り返してくれます。Timer1を実行後、つまり1ミリ秒毎にアクションを起こすよう、プロパティ「OnTimeEnd」に処理を設定します。

f:id:island3m:20210907165132p:plain

If文でループ処理をコントロール

指定した回数だけ処理を繰り返すにはIf文でループをコントロールします。Timer1の処理がループする毎に変数Cntの値がカウントアップします。値がCntEnd(入力された数値)以上になれば、Timer1がリセットされ、ループが止まります。コレクション(Roop1)はClearCollectで作成します。1回目の処理でコレクションを作成しデータを1件書き込みます。2回目以降はCollectでデータを追加します。コレクションの中身は列Noに変数Cntの値のみセットしています。

f:id:island3m:20210907165229p:plain

動作確認をしてみる

設定が出来ましたら動作を確認してみます。「データテーブル」を挿入して、コレクション(Roop1)を紐付けます。「テキスト入力」に5をセットしてTimer1をクリックしてみるとループ処理が実行され、5個のデータがデータテーブルに表示されるのがわかるかと思います。

f:id:island3m:20210907170757p:plain