【2025年 追記】
この記事は2021年時点の情報です。
現在はDataverse for Teams環境の自動削除ルール(90日未使用で削除)があるため、長期運用する本番アプリには推奨されません。
本格的なアプリ開発には、有償版DataverseまたはSharePointリストの利用を検討してください。
![]()
この記事は2021年時点の情報です。
現在はDataverse for Teams環境の自動削除ルール(90日未使用で削除)があるため、長期運用する本番アプリには推奨されません。
本格的なアプリ開発には、有償版DataverseまたはSharePointリストの利用を検討してください。

非アクティブな Dataverse for Teams 環境の自動削除 - Power Platform
管理者は自動クリーンアップ プロセスを構成して、非アクティブな Dataverse for Teams 環境をテナントから削除できます。
Dataverse for Teamsということで、Teams内のPower AppsであればDataverse(旧:CDS)が無料で使えるようになったらしい。
ということで、交通費申請アプリを作って遊んでみた。
今回は前回の続きで、前回作成した「ユーザー」テーブルと「交通費申請」テーブルを、デフォルトで作られるキャンバスの中に入れ込んでいく。
前回はこちら


Power Apps Dataverse for Teamsで交通費申請アプリを作る(1/3)
【2025年 追記】この記事は2021年時点の情報です。現在はDataverse for Teams環境の自動削除ルール(90日未使用で削除)があるため、長期運用する本番アプリには推奨されません。本格的なアプリ開発には、有償版Dataver...
まずは「ユーザー」テーブルにデータ(レコード)が勝手に追加されるようにする
今回「ユーザー」テーブルは独自で作ったので、もちろんユーザー情報は入っていない。
けれど最初に「ユーザー登録 → 交通費申請」という流れを取るのがめんどうだったので、アプリを起動したときにユーザーが勝手に追加されるようにしてみた。
まずはAppのOnStartにこんな式を入れる。


式をざっくり説明すると、
- ログイン中のユーザーのメールアドレスを変数に入れる
- CountIfで「ユーザー」テーブルに同じメールアドレスのデータが存在するか調べる
- 存在しなかったらPatch関数を使って、「ユーザー」レコードを新規追加する
といった感じ。
最初にメールアドレスを変数に入れているのは、CountIfで検索するとき検索を委託するため。
この式を書いた後、一旦左上の戻るを押して再度アプリを開くと、自分の情報が「ユーザー」テーブルに追加されているはず!


※今回「ユーザー」テーブルのメールアドレスを「一意値」にしていないのでこんな処理を書いているけど、「一意値」にすればDataverseが勝手にはじいてくれたりして。
キャンバスを「交通費申請」仕様に変える
ユーザーの一覧が表示されて、その詳細や編集が行える現在の画面を、交通費申請が表示されて、編集や追加が行えるように変えていく。
※ちなみに、前回の記事でテーブルを作る順序を「交通費申請」→「ユーザー」とした場合、この章はいらないかもしれない。
左側のGalleryコントロールを「交通費申請」仕様に変える
まずは、左側の一覧に「交通費申請」の一覧を表示したい!(今は「ユーザー」の一覧)ということで、左側のGalleryの「データソース」プロパティを、「ユーザー」から「交通費申請」テーブルに変える。


すると当然色んなところでエラーが発生するので順に直していく。
まずは左側のGalleryのDefaultプロパティ。CurrentItemの型とデータソースの型が違う!って悲鳴を上げている。
Defaultプロパティは「Galleryで最初に選択されているアイテム」を指定するだけのプロパティなので、一旦今回は中身を消してあげてエラーを解消。
※CurrentItemはデフォルトで作成されるグローバル変数。もししっかり直したいなら、CurrentItemをSetしているところを見つけて修正してあげるとよい。

※CurrentItemはデフォルトで作成されるグローバル変数。もししっかり直したいなら、CurrentItemをSetしているところを見つけて修正してあげるとよい。

右側のFormコントロールを「交通費申請」仕様に変える
続いて右側のFormコントロール。このFormコントロールのデータソースも「交通費申請」に変えて、エラーを解消してあげる。


データカードを置換してとくるので、OKを選択すると


Formのエラーが消える。


「本当に消すの?」ダイアログを「交通費申請」仕様に変える
そして最後に真ん中のエラーを解消していく。
このエラーを吐いているのが、右上のごみ箱を押したときに出る「本当に消していいの?」ダイアログ君。
「本当に消していいの?」ダイアログにはOKボタンとキャンセルボタンがあって、OKボタンを押したときの処理でエラーを吐いている。


エラーの内容は「対象のテーブル(ユーザー)」と、「消そうとしているレコード(交通費申請)」の型が合っていない!という内容なので、「対象のテーブル」をユーザーから交通費申請に変えてあげればOK!


するとエラーが一通り消えて、「交通費申請」のデータの
- 新規作成
- 編集
- 削除
はできるようになる!

とは言え、まだ修正すべきところは残っていて、
- 自分以外の交通費申請も見れちゃう
- 使用していない「件名」プロパティは自動で適当に入るようにしたい
- 「管理番号」って見せる必要なくない?
- 「だれが」列にもログインユーザーを勝手に入れてほしい
とかとかあるので、これらは第3回で修正してみる。


コメント