管理人がみんなに伝えたい!!と思った知識や学びを気ままに書いています(^^)

【効果あり】データの保存と同期を同時にする方法

【効果あり】データの保存と同期を同時にする方法

この記事内容は、appsheetにQuick sync機能がない場合に有効だった方法です。データの同期スピードが上がった今ではあまり効果がありませんのであしからず・・

Quick syncの設定状況は下図を参考にしてください。

クイック同期の設定方法

まずはじめに

本記事はこんな人におすすめ!!
  • appsheetのデータ保存と同時にデータの同期をさせたい
  • 不特定多数の人が使うアプリを作成する人
本記事を読んで出来るようになること
  • linktorow()関数を使った画面遷移

本設定の注意点

この記事の設定において一番のデメリットは、データの保存と同時に同期を行うので

アプリのレスポンスが遅くなる

この1点につきます。

アプリを使用する人たちがそれなりの知識を持っており、登録データを同期する前にブラウザの画面を閉じるなどの動作をしないかぎりは不要な設定になります。

それでは早速勉強していきましょう!(^^)


アプリを強制同期させるアクションボタンを作成

強制同期のイメージ

まずはじめに、本記事の内容はどんなアプリでも実装可能です。

この記事を読まれる方は少なからずアプリを作成した経験があると思いますので、カラムの設定などは飛ばして要点だけつらつらと書いていきます(^^)

下の写真を参考に新規でアクションボタンを作成します。

強制同期のアクションボタン

このTargetに入力している構文が本記事で伝えたい内容です!

まずはlinktorow()関数のおさらいをしましょう(^^)

linktorowの説明

linktorow()関数については別記事にまとめています

参考記事

上の関数の意味するところは以下になります。

  • 第一引数にデータを登録する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]とは?

appsheetにはテーブルのKey値を取得するのに便利な[_thisrow] というものがあります。

知っていると非常に便利なので、これを機に覚えてしまいましょう!

[_thisrow]の使い方を別記事にまとめています

参考記事

また、このアクションボタンは表に出す必要がないので

do not display

これでアクションボタンの作成は完了です。お疲れさまでした。


Form画面Save後にデータの強制同期を発動させる

強制同期のチェック

次に、先ほど作成したアクションボタンをForm画面Save時に発動するようにアクションを仕込みます。

設定方法は至って簡単です(^^)

form viewの確認

先ほど作成したアクションボタンがあるシートのFormのUXを見つけます。

アクションボタンの設置

BehaviorにあるEvent Actionsに強制同期アクションをセットします。

これだけです(^^)

アプリの挙動確認

それでは、最後に仕込んだアクションがどういった動きをするのか確認してみましょう(^^)

アプリの挙動確認

まずデータを新規で登録します。

画面遷移の確認

この状態でデータを保存すると・・

強制同期の画面

Form ViewのSave Action(強制同期)が発動し、データを即更新します。

対象のdetail view

更新が終わった後はlinktorow()関数にセットしたデータ([Key値])のDetail Viewに画面が遷移します(^^)


まとめ

以上、強制同期の方法についての記事でした。

冒頭でも述べましたが、このアクションを仕込むとデータを保存するたびに更新しようとするので、

短時間で複数のデータを登録するようなアプリには適していません。

appsheetでアプリを作成したことがない不特定多数の人がアプリを使用する

毎回画面上のSyncボタンを押すのが面倒

こういったユースケースだと導入検討の余地があると思います。

記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。

わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!

勉強お疲れさまでした(^^)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA