お世話になります。点検用アプリの作成をしております。
項目数がとても多く、アプリ利用に慣れない人もいるので、確認はアプリの他スプレッドシートでもできるように。と考えております。 そこで、スプレッドシートについてはある程度の内容ごとにいくつかのタブに分けたうえで作成しています。(大項目1のシートに点検30項目程度、大項目2のシートの20項目程度など)
(各シート共通部分は、日付&点検者名)の状態です。
ただし、アプリ側での点検時の数値入力は新規作成の+ボタンを1回押すだけですべての項目入力できるのが望ましいのかなと思っております。 その場合の作成方法として、2通り考えておりどちらが的確なのか教えていただけないでしょうか。
①スプレッドシートのアプリ連携のシートはすべての項目(200項目程度)を1つのシートのみにして、スプレッドシート側でそのシートを参照する別シートを作成する。その場合アプリ側でデータを確認するときに項目数が多くなってしまうので、見やすくなるようなUIの表示方法などアドバイスいただけないでしょうか。 ②スプレッドシート側は複数のシートとし、Appsheetに複数テーブルを読み込ませて、関係づける
この場合、Appsheet側の関連付けがうまくいく方法が思いつきません。
以上、分かりにくく恐縮ですが、よろしくお願いいたします。
前回ご説明させていただいた通り、画面を推移させるアクションをまず作成してください。LinktoFormのExpressoinです。関数はそれぞれ、上記で記載されているもので間違いないと思います。親のROWの登録から数えて、子テーブル3に推移させるためには別々に3つのActoinが必要になる計算です。
作成したアクションは、まず親のFORMの「Saved Event」があった場合に発火させるACTIONに設定。同様に子テーブル1のFORM VIEWにはテーブル2に推移する上記で設置したアクションをForm がSaveされると同時に発火させるように選択。以下同様です。
ありがとうございました。私の理解度が低くとても時間とお手数をおかけいたしましたが、 ようやくしっかり動作しました。
大変助かりました。今後ともよろしくお願いいします。
再度質問させてください。 データ記録時、親テーブル→子テーブル①→子テーブル②→子テーブル③の順に記録したいのですが、
親テーブルのバーチャルculumnにAPP型にて、LINKTOFORM("子テーブル①_Form", "親KEY",[_THISROW].[親KEY]) と入力し、子テーブル①には移動できます。 子テーブル①のバーチャルculumnにも同様にAPP型にて、LINKTOFORM("子テーブル②_Form", "親KEY",[_THISROW].[親KEY]) と入力しても処理を終了しホーム画面に戻ってしまいます。 親KEYは教えていただきました通り、すべて親テーブルのものからRefで参照しています。 どのように設定すれば、子テーブル①→子テーブル②・・・入力フォームの移動ができるのでしょうか。 移動だけであれば、 親テーブル バーチャルculumnに子テーブルすべてのLINKTOFORMを設定の上、 子テーブル①には LINKTOROW([点検KEY],"子テーブル②_Form")を設定してみたのですが、
それをしたところ子テーブル②KEYが初期値にUNIQUEID()設定しても反映されず、うまく動作せず、 理解不足で申し訳ないのですが、再度ご教授いただけないでしょうか。
①親のテーブルである「点検概要」のADD(FORM)でデータ入力後、 点検①→点検②→点検③をそのまま順次入力させたいため 「点検概要」FORMのFinish viewに点検①FORMを設定、 「点検①」FORMのFinish viewに点検②FORMを設定…点検③にはMAIN画面を設定とすることでできるかと思ったのですが、 うまく動作しません。(保存後移動しない) 実現する方法はありますでしょうか。
の部分は、現状どのような設定をされているかわかりませんが、FORM VIEWをSaveした事実をTRIGGERにActionを走らせ、別の指定のVIEWに飛ばすという処理が一般的です。その場合、DeeplinkというExpressionを利用したActionを作成。
Deeplinkの概要は以下のDocumentをご参照ください。
数多く準備されているDeeplinkのExpressionのうちLinktoForm()という関数を利用し、親テーブルのKEYの値を新規のForm Viewの点検KEYの値として渡し、データ登録する流れです。
ここで設定したActionを親テーブルのFORM VIEWのEvent Actionとして設定することで親テーブルのFORMがSaveされたと同時に子テーブルにROWを追加するFORM VIEWに推移。次のFORMVIEWに繋げたい場合は、この子テーブルのFORMに対し、別のDEEPLINKアクションを設定することで実装可能と考えます。
②点検①~③で、日付などを点検概要シートの値を参照させたいのですが、 点検①テーブルの日付columnのapp fomulaに 点検概要[点検KEY].[日付]と記載したのですがうまく動きません。 こちらも実現することは可能でしょうか。
の部分ですが、syntaxが間違っています。
[点検KEY].[日付]
が正しい構文です。
時刻等その他のcolumnのformulaも同様に修正が必要です。
親テーブルにはref連携がなされた場合に作成されるlist タイプのvcが一つしか見当たりません。つまりは点検①とされる子テーブルとの間のみのref関係しか作成されていないという状況で、残りの2つは独立したテーブルとなっているというのが現状です。
残り2つの子テーブルがあるものと理解していましたが、それらは親のテーブルとはリンク付けされていないようです。
子テーブル 点検①です。点検②以降も同じような設定です。
ありがとうございます。親テーブル画像差し替えました。このような状況です。
大変分かりにくく失礼しました
各テーブルのカラム設定の詳細がわかるスクリーンショットをシェア下さい。
ご回答いただいた内容で、表示はうまくされるようになりましたが、 入力がうまくいきません。 もう一度いくつかご教授いただけないでしょうか
①親のテーブルである「点検概要」のADD(FORM)でデータ入力後、 点検①→点検②→点検③をそのまま順次入力させたいため 「点検概要」FORMのFinish viewに点検①FORMを設定、 「点検①」FORMのFinish viewに点検②FORMを設定…点検③にはMAIN画面を設定とすることでできるかと思ったのですが、 うまく動作しません。(保存後移動しない) 実現する方法はありますでしょうか。
②点検①~③で、日付などを点検概要シートの値を参照させたいのですが、 点検①テーブルの日付columnのapp fomulaに 点検概要[点検KEY].[日付]と記載したのですがうまく動きません。 こちらも実現することは可能でしょうか。
③点検①~③に点検KEYcolumnには「点検概要テーブル」の点検KEYが参照され、格納されると思っていたのですが、違うのでしょうか。 初期値やApp fomulaに設定が必要なのでしょうか。 何度も申し訳ありませんが、どうかご教授いただけないでしょうか。
早速の回答ありがとうございます。 毎回大変こちらに助けられております。
今後ともよろしくお願いいたします
HOMEに設定するのは、点検概要テーブルから作成したTABLE もしくはDECK VIEWが適当かと思います。入力された点検が一覧表示されます。見たい点検をクリックするとdetail viewが開きます。点検概要の項目が表示され、上記でお示しした点検項目1、2、3がそれぞれAPPSHEET でいうところのINLINE VIEWで表示されます。
とても分かりやすく、ありがとうございます。
現在参考にしてデータを入れなおしております。 まだ、アプリのUXについてどれが好ましいか決め切れておりません。 (すべて変更しながらどれにするか選ぶのが難しく。)
ホームとするべきUXや使い分けのおすすめなどあれば、 教えていただけないでしょうか。
結論から申し上げますと望ましいアプローチは、②の方です。すべての項目を一つのテーブルに集約するのではなく、点検項目・グループ毎にシートを分けたうえで、結合させる方法です。
一つのテーブルで全てを管理しようとする場合、いろいろと弊害が出てきます。まず、入力に際してはSLICEを用いて各グループごとのSLICEを作成、SLICEのFORM VIEWからデータを入力してもらう方法もあり、これにより項目毎にテーブルを分けて管理手法と見た目は変わらないUIを実現させることも可能ですが、例えば、ある点検のある項目をすべて一度削除して一から入力したい場合などのケースが起こると、他の項目もすべて削除されるなどの弊害が発生。
また、入力後に自分が確認したい項目にたどり着くためには、DETAILVIEWで上下にスクロールしなければたどり着けない、などの不便です。
これを避けて効率的にデータを入力したり、入力後のデータを管理するためには、前述の通りテーブルを分けることが最善です。
テーブル構造を簡単にイメージすると、
といった風に表現されます。
一番TOPには、点検のメタデータ、例えば点検の実施日や実施者などの基本情報を管理するテーブル。このテーブルを点検概要と仮称します。このテーブルのKEYは点検概要IDとします。
各項目ごとのテーブルには、それぞれ点検概要IDのフィールドを設け、REF TYPEに設定。参照(REFERENCE)するテーブルを点検概要テーブルに設定。
これにより点検概要テーブルを親、それぞれの点検項目テーブルを子とするリレーションシップを設定。
ユーザーはまず点検を開始するに当たり、メタデータにあたる点検概要テーブルへ新規入力。新規に作成されたROWに対し、それぞれの項目に分けられた子テーブルに入力してもらう手順となります。