【AppSheet脱・初級者1】LINKTO関数で思い通りの画面移動

AppSheet

「ボタン一つで次の画面にパッとジャンプしたい」 「保存ボタンを押した後、 自動で一覧画面に戻ってほしい」
AppSheetでアプリを作り始めると、 標準のメニュー(下のタブ)の移動だけでは 物足りなくなってきますよね。

ユーザーの思い通りに 「画面を自動で移動させる」ために 欠かせないのが「Action(アクション)」です。

【AppSheet 脱・初級者】シリーズでは、「少しアプリが作れるようになってきたけれど、

ここで壁にぶつかった!」という、私自身が使い始めて躓いたポイントを実体験ベースでまとめていきます。

今回は、Actionの基本をおさらいしつつ、 今回は、画面移動(ナビゲーション)で必須となる 「LINKTO●●」関数の使い方を解説します。

さらに、AppSheetを使い始めて必ず躓く壁である  [_THISROW] の考え方を、 具体的な事例を交えて紐解いていきます!


スポンサーリンク

AppSheetの「Action」とは?

Actionとは、簡単に言うと「特定の動きをさせるためのボタン」のことです。
画面下部にアイコンとして表示されたり、 テーブルの特定の列に表示されたりします。

AppSheetのアクションは、 大きく分けて以下の4種類があります。

  1. ナビゲーション👉 今回の主役! 別の画面へ移動
  2. データ変更: データを追加・更新・削除
  3. 外部: 電話・メール・ブラウザを開く
  4. グループ化: 複数のアクションを連続実行

今回はこの中の 「ナビゲーション(画面移動)」を深掘りします。


画面移動を操る「LINKTO●●」関数

「どこへ・どうやって移動するか」の指定に、 LINKTOから始まる関数を使います。
代表的な4種類の使い方と、その役割は以下の通りです。

  1. LINKTOVIEW() : 指定した画面にただ移動する
  2. LINKTOFORM() : 値を入れながらフォームを開く
  3. LINKTOROW() : データの詳細画面を開く
  4. LINKTOFILTEREDVIEW() : 絞り込んで一覧を開く

関数の「引数(ひきすう)」と呼ばれる、 カッコの中に入れる設定の書き方を見ていきましょう。

💡【超重要】魔法の言葉 [_THISROW]

関数の説明に入る前に、一番つまずきやすい 「移動元」と「移動先」のデータの区別 についてお話しします。

ボタンを押して別の画面を開くとき、 「いまボタンを押した行のデータ」を 次の画面に引き継ぎたい場面がよくあります。
このとき活躍するのが、 [_THISROW](ディスロウ:この行)です。

  • [列名] = (移動先) これから開く画面の列→これがわかりにくい!
  • [_THISROW].[列名] = (移動元) いま押した行の列

[_THISROW] を見たら、頭の中で 「いまボタンを押したこの行の〜」 と翻訳してみてください。

これを理解した上で、 以下の4つの関数を見ていきましょう!

 LINKTOVIEW() :特定の画面に移動する

一番シンプルでよく使う関数です。 指定した名前のビューを開きます。

【構文(書き方)】 LINKTOVIEW("移動したいビューの名前")
【使用例】 「従業員一覧」というビューへ移動させたい場合。

LINKTOVIEW("従業員一覧")

※ビューの名前は "(ダブルクォーテーション)で囲みます。

 LINKTOFORM() :初期値をセットしてフォームを開く

新規入力フォームを開くだけでなく、 「開いた瞬間にあらかじめ値を入れておく」 ことができる強力な関数です。

【構文(書き方)】 LINKTOFORM("フォーム名", "列名1", 値1, "列名2", 値2 ...)
【使用例】 「タスク追加_Form」という入力画面を開くとします。 「担当者」をログインユーザーにしつつ、 「どのプロジェクトか」を自動セットしたい場合。

LINKTOFORM(
  "タスク追加_Form",
  "担当者", USEREMAIL(),
  "プロジェクトID", [_THISROW].[プロジェクトID]
)

翻訳: 「タスク追加フォームを開いて! (移動先の)プロジェクトIDの欄には、 (移動元の)プロジェクトIDをはじめから入れてね!」

LINKTOROW() :特定の行の詳細画面を開く

一覧画面からではなく、別の画面のボタンから 特定のデータの詳細画面を開きたい時に使います。

【構文(書き方)】 LINKTOROW("開きたい行のキー値", "詳細ビュー名")
【使用例】 「見積もり一覧」にあるボタンを押して、 顧客の手帳(顧客_Detailビュー)を開きたい場合。

LINKTOROW([_THISROW].[顧客ID], "顧客_Detail")

翻訳: 「顧客_Detailを開いて! 表示するのは、 (いまボタンを押した)見積もりの顧客IDのデータだよ!」

 LINKTOFILTEREDVIEW() :絞り込んだ画面を開く

「特定の条件に合うデータだけの一覧画面」 を開きたい時に使います。 ここでも [_THISROW] が大活躍します。

【構文(書き方)】 LINKTOFILTEREDVIEW("ビューの名前", 絞り込み条件)
【使用例①:ログインユーザーで絞り込む】 「タスク一覧」ビューを、 ログイン中ユーザーのデータだけに絞り込む場合。

LINKTOFILTEREDVIEW(
  "タスク一覧",
  ([担当者] = USEREMAIL())
)

【使用例②:[_THISROW] を使った応用】 「プロジェクト一覧」の特定のボタンを押して、 そのプロジェクトのタスクだけを絞り込む場合。

LINKTOFILTEREDVIEW(
  "タスク一覧",
  ([プロジェクトID] = [_THISROW].[プロジェクトID])
)

翻訳: 「タスク一覧を開いてね! ただし(移動先の)プロジェクトIDが、 (移動元の)プロジェクトIDと同じデータだけにしてね!」


引数(ひきすう)を書くときの「3つの約束」

「関数のカッコの中に何を書けばいいの?」 と迷ったら、以下のルールを思い出してください。

  1. 文字列は " "(ダブルクォーテーション)で囲む ➔ LINKTOVIEW("顧客名簿")
  2. 列の名前は [ ] (角カッコ)で囲む ➔ LINKTOROW([ID], "プロジェクト_Detail")
  3. 項目を複数渡すときは ,(コンマ)で区切る ➔ LINKTOFORM("フォーム名", "列", 値)


まとめ

ナビゲーションと「LINKTO●●」関数を使いこなせば、 ユーザーにとって次にするべき操作が明確になります。

  • ただ移動するだけなら LINKTOVIEW()
  • 値を入れつつフォームを開くなら LINKTOFORM()
  • 特定のデータを詳細に見るなら LINKTOROW()
  • 絞り込んで一覧を見るなら LINKTOFILTEREDVIEW()

まずは簡単な LINKTOVIEW から触ってみて、 書き方に慣れていきましょう!

コメント

タイトルとURLをコピーしました