Power Apps

Power Apps でクエリパラメーターを利用して特定のデータを開く

  • 2024.08.19

今回は Power Apps コースで最近立て続けにいただいたご質問からのネタです。

キャンバス アプリでは App.StartScreen でアプリ起動時に最初に開く画面を指定します。最初の画面がいつも同じ画面ではなく、条件によって異なる画面を開くことも可能です。今回はこれを利用して URL に ID を含めてアクセスした場合に、特定のデータを開くように設定する方法をご紹介します。

■ やりたいこと

複数画面があるアプリがあり、うち1つは特定のデータを編集する画面 (編集フォーム) となっている。

アプリを起動したときに開く画面はスタート画面としたいが、Power Automate により送信された通知メールに含まれる URL から開いた場合はデータの編集画面を特定のデータの編集画面として直接開きたい

Power Automate で自動送信する通知メール内にアプリ URL にクエリパラメーターを追加したリンクを挿入することを前提とします。https://アプリのURL?パラメーター名=値 のような形です。

今回は特定のデータを開くため、データの ID 列の値をパラメーターに含めます。以下の例だと、パラメーター名が id、値が 11 です。値の部分は Power Automate で動的コンテンツを利用して設定します。
https://apps.powerapps.com/play/e/XXXXXX/a/XXXXXXXxx?tenantId=XXXXXXXX&id=11

Param 関数を利用して、アプリ起動時の URL id の値が含まれているかどうかを確認し、含まれていれば該当画面へ移動するように設定します。

イメージ図の画面名や構成を前提とすると、この動作に必要な設定は以下のとおりです。

  • App.OnStart
    クエリパラメーターから id の値を取得し、_id 変数に入れておく

Set(_id,Value(Param("id")))

  • App.StartScreen
    クエリパラメータ id の値が空白でなければ、ApproveScreen を開き、空白の場合は StartScreen を開くように設定

If(!IsBlank(Param("id")),ApproveScreen,StartScreen)

  • ApproveScreen 内の編集フォーム Item プロパティ
    編集フォームの Item プロパティで、_id 変数値=ID のデータを指定する

LookUp(データソース名,ID=_id)

  • BrowseScreen 内の ApproveScreen へ移動するボタン OnSelect プロパティ
    ApproveScreen 内の編集フォームで利用できるよう _id 変数に該当データの ID を格納してから画面を移動

Set(_id,ThisItem.ID);Navigate(ApproveScreen)

参考:Launch 関数と Param 関数 – Power Platform | Microsoft Learn

今回の例だと URL に含めたパラメーターは1つでしたが、複数の値を渡すことも可能です。アプリを開いた際に画面を制御する方法のひとつとして参考にしていただけたらうれしいです。

関連コース

  • CI613-H Power Apps による Microsoft 365 活用
    Power Apps を利用した業務アプリの作成を Microsoft 365 に含まれるライセンスを活用して行えることを中心にご紹介します。また Power Automate のフローなど Microsoft 365 の各種機能と連携する方法も含めて実践的な実習をベースとして習得いただけます。作成したアプリを共有する方法についても解説します。これから Power Apps をはじめる方におすすめのコースです。
  • CI619-H Power Apps Premium によるアプリ作成
    Power Apps Premium (有償プラン) の利用を前提とし、Dataverse の利用方法や Dataverse をデータソースとしたキャンバスアプリ、モデル駆動型アプリの作成方法、Power Platform のその他サービスとの連携まで実践的な実習とともに解説します。
  • CI614-H SharePoint & Power Apps & Power Automate 実践ラボ
    実際にアプリを作成する際によくある疑問点をあげつつ、実践的なテクニックや Tips を確認しながら一緒にアプリやフローを作成するラボを行う上級者向けの超実践コース

お問い合わせ

イルミネート・ジャパンが提供するトレーニングやサービスに関するご相談など、
お気軽にご連絡ください。

担当者に相談する