この記事内容は、appsheetにQuick sync機能がない場合に有効だった方法です。データの同期スピードが上がった今ではあまり効果がありませんのであしからず・・
Quick syncの設定状況は下図を参考にしてください。
まずはじめに
- appsheetのデータ保存と同時にデータの同期をさせたい人
- 不特定多数の人が使うアプリを作成する人
- linktorow()関数を使った画面遷移
本設定の注意点
この記事の設定において一番のデメリットは、データの保存と同時に同期を行うので
アプリのレスポンスが遅くなる
この1点につきます。
アプリを使用する人たちがそれなりの知識を持っており、登録データを同期する前にブラウザの画面を閉じるなどの動作をしないかぎりは不要な設定になります。
それでは早速勉強していきましょう!(^^)
アプリを強制同期させるアクションボタンを作成
まずはじめに、本記事の内容はどんなアプリでも実装可能です。
この記事を読まれる方は少なからずアプリを作成した経験があると思いますので、カラムの設定などは飛ばして要点だけつらつらと書いていきます(^^)
下の写真を参考に新規でアクションボタンを作成します。
このTargetに入力している構文が本記事で伝えたい内容です!
まずはlinktorow()関数のおさらいをしましょう(^^)
linktorow()関数については別記事にまとめています
アプリの画面遷移について学びたい方は、こちらの記事を参考にしてください(^^)
【脱初心者!】Deeplink関数の使い方
上の関数の意味するところは以下になります。
- 第一引数にデータを登録するViewのKey値(私のアプリの場合はID)
- 第二引数にデータを登録するView name(私のオススメはDetail View)
- 第三引数は無視
よって、linktorow([_thisrow],シート1_detail)となります。この関数の後ろに
&”&at=”&(now()+1)
これを引っ付けて、linktorow([_thisrow],シート1_detail)&”&at=”&(now()+1)を作り上げます(^^)
&”&at=”&(now()+1)・・・なぜこうなるのかは分かりません。(こういうもんだと割り切って私は覚えました笑)
[_thisrow]の使い方を別記事にまとめています
直前の入力値で次に続く選択肢を変更させる方法がわかります(^^)
【脱初心者!】select()関数で依存型ドロップダウンリストを作成する方法
また、このアクションボタンは表に出す必要がないので
これでアクションボタンの作成は完了です。お疲れさまでした。
Form画面Save後にデータの強制同期を発動させる
次に、先ほど作成したアクションボタンをForm画面Save時に発動するようにアクションを仕込みます。
設定方法は至って簡単です(^^)
先ほど作成したアクションボタンがあるシートのFormのUXを見つけます。
BehaviorにあるEvent Actionsに強制同期アクションをセットします。
これだけです(^^)
アプリの挙動確認
それでは、最後に仕込んだアクションがどういった動きをするのか確認してみましょう(^^)
まずデータを新規で登録します。
この状態でデータを保存すると・・
Form ViewのSave Action(強制同期)が発動し、データを即更新します。
更新が終わった後はlinktorow()関数にセットしたデータ([Key値])のDetail Viewに画面が遷移します(^^)
まとめ
以上、強制同期の方法についての記事でした。
冒頭でも述べましたが、このアクションを仕込むとデータを保存するたびに更新しようとするので、
短時間で複数のデータを登録するようなアプリには適していません。
appsheetでアプリを作成したことがない不特定多数の人がアプリを使用する
毎回画面上のSyncボタンを押すのが面倒
こういったユースケースだと導入検討の余地があると思います。
記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。
わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!
勉強お疲れさまでした(^^)