受注と出荷日が1対Nの関係にある状態で、カレンダーから出荷日を追加したいのですがうまくいかず困っております。アドバイスを頂けたら大変助かります。
現状、以下の2つのテーブルがあります。
①受注テーブル
②出荷スケジュールテーブル
上記テーブルは1:Nの関係です。出荷スケジュールテーブルからカラムタイプRefで受注テーブルを参照しています。
受注入力画面を作成し、受注を入力するとともに、複数の出荷スケジュールを入力できるようにしています。
スケジュール画面を作成し、出荷スケジュールを確認できるようにしています。
カレンダーから「+」を押して、スケジュールを追加するにあたり、受注名はドロップダウンで選択できるようにしています。
この状態で、ドロップダウンから特定の受注名を選択した際に、受注名に紐づいた受注IDを自動で表示したいのですが、うまくいきません。
私が考えたのは、カラム「受注名」のAUTO COMPUTEに「SELECT(受注[受注ID],[受注名] = [_THISROW].[受注名]),TRUE」を設定すれば引っ張ってこれるのではなかと考えたのですが、カラム「受注名」がRef型なのでエラーとなってしまいます。
ちなみにテーブルはこのような感じになっています。
もしよい方法があればご教示いただけませんでしょうか。
辻様、お忙しい中、いつも迅速にご回答をいただき誠にありがとうございます。ラベルはこのように使うのですね。大変に勉強になりました。FORMURAの書き方もご教示いただきありがとうございました。LOOKUP関数を使わずにデータを呼び出して保存できることを学びました。Appsheetはこのコミュニティでどんな質問にも的確にお答えいただけるためAppSheetを使うにあたり他のNo codeアプリにはないアドバンテージを感じています。いつもありがとうございます。😀
まず、受注テーブルについて。
いま受注IDがラベルに指定されていますがこれをオフにして、受注名をONにしてください。
この設定だけで出荷スケジュールのテーブルで発注IDを選択する際にドロップダウンのリスト表示が発注名に切り替わります。ユーザーは、そのドロップダウンから適当な値を選択しますが、データベース、スプレッドシートに保存される値は受注テーブルのIDのまま。
次に出荷テーブルに受注名のデータ・値を保存したいということでしたら、出荷スケジュールの受注名のAPP FORMULAに
[受注ID].[受注名]
という関数を入力すると選択された受注IDの名称をLOOK UPして表示するとともに受注名のテキストをデータとして保存します。
ただしこのままですと、受注IDの項目にはあまり意味のないIDの値ではなく受注名が表示されると同時に受注名にも同じデータが表示されますので、しつこくなるでしょうから、受注名のフィールドはSHOWの設定をOFFにすれば宜しいと思います。アプリ上には見えませんが、データはきちっと捕捉してくれます。
こちらはご質問の内容と関係ありませんが、出荷スケジュールのIDも非表示にした方がいいかもしれません。意味の無い乱数(UNIQUEID()の関数で返される値)をIDとされるのであれば、非表示として問題ないでしょうし、表示し、かつ編集可としておくとユーザーがあやまって値を変更してしまうかもしれませんので。