gusuku Customine カスタマインの歩き方 レコード更新編
3. レコード追加、レコード更新に関する「やること」一挙解説

3-4. テーブルの行数分、処理を繰り返して更新できる「レコードを更新する(キーの値をフィールドで指定)」

前の記事:3-3. レコードがあれば更新、なければ追加できる「レコードを更新または追加する(キーの値を直接指定)」

次の記事:3-5. テーブルの行数分、処理を繰り返して更新ないし追加できる「レコードを更新または更新する(キーの値をフィールドで指定)」


やること「レコードを更新する(キーの値を直接指定)」 と同様にカスタマイズ対象のレコードと紐づくレコードを更新することができ、キーにフィールドを指定するのが、やること「レコードを更新する(キーの値をフィールドで指定)」です。


これは、やること「レコードを更新する(キーの値を直接指定)」と一見似ているのですが、利用できるシーンに一部違いがあります。


具体的には、次の例のようにテーブル内の値をキー項目として設定した場合に、テーブル行の件数分だけ処理を繰り返すことができます。


ただし、やること「レコードを更新する(キーの値を直接指定)」ではキーとして「フィールド」「他のアクションの結果」「関数」などが指定できるのに対し、やること「レコードを更新する(キーの値をフィールドで指定)」では、キーに指定できるのは「フィールド」のみとなる点に注意が必要です。


この記事では、やること「レコードを更新する(キーの値をフィールドで指定)」を用い、案件管理アプリのレコードを更新した時に、発注台帳アプリの発注台帳キーをもとに数量が更新されるカスタマイズを作ります。実行例は次のようになります。


アプリ

カスタマイズ例を確かめるためには、2つのアプリを作成します。

※今回動かすのに必要最低限となるフィールドのみ記載しています


案件管理

※フィールド名とフィールドコードは同じものを指定

フィールド名

フィールドタイプ

備考

案件ID

文字列(1行)


発注

テーブル

※以下の「発注日」~「発注台帳キー」はテーブル内フィールドとして設定

発注日

日付


部品コード

文字列(1行)


数量

数値


発注台帳キー

文字列(1行)

自動計算する
計算式:案件ID & "-" & 部品コード


発注台帳

※フィールド名とフィールドコードは同じものを指定

フィールド名

フィールドタイプ

備考

発注台帳キー

文字列(1行)

値の重複を禁止する

案件ID

文字列(1行)


発注日

日付


部品コード

文字列(1行)


数量

数値



カスタマイズ

カスタマイズは「案件管理」アプリに対して行います。

また、アクションは次のように設定してください。


レコードを保存した直後にレコードを更新する

やること「レコードを更新する(キーの値をフィールドで指定)」、条件「レコードを保存した直後(削除後は除く)」「現在の画面が追加画面または編集画面ならば」を用います。


「やること」のパラメータのキーとなる更新先のフィールド、キーの値となるこのアプリのフィールドはどちらも「発注台帳キー」を設定します。


また、マッピングは次の要領で設定します。


解説

このように、やること「レコードを更新する(キーの値をフィールドで指定)」のパラメーター「キーの値となるこのアプリのフィールド」に、テーブルの中のフィールドを指定すると、テーブルの件数分だけ処理を繰り返すことができます。


これは、やること「レコードを更新する(キーの値を直接指定)」では実現することができません。


今回の例ではテーブル行が4行ありますが、1つのアクションだけで4行すべてをキーとして指定し、レコード更新をすることが可能です。また、テーブル内のフィールド「発注台帳キー」を「キー」としました。


注意点

このやること「レコードを更新する(キーの値をフィールドで指定)」を一覧画面で使用する場合、一覧画面に表示された数だけ処理が繰り返されます。


ただし、一覧画面に表示されているレコードだけが対象になりますので注意が必要です。一覧画面の条件に合致していても、表示されていない次ページ以降のレコードは処理対象になりません。



おわりに

この記事では、やること「レコードを更新する(キーの値をフィールドで指定)」を使い、テーブル行の全行を元にして、他のアプリのレコードを更新するカスタマイズをご紹介しました。


ドキュメントサポートページもぜひご活用ください。

また、ご不明点等ございましたら、チャットにてご質問ください!


gusuku Customine カスタマインの歩き方 レコード更新編
3. レコード追加、レコード更新に関する「やること」一挙解説

3-4. テーブルの行数分、処理を繰り返して更新できる「レコードを更新する(キーの値をフィールドで指定)」

前の記事:3-3. レコードがあれば更新、なければ追加できる「レコードを更新または追加する(キーの値を直接指定)」

次の記事:3-5. テーブルの行数分、処理を繰り返して更新ないし追加できる「レコードを更新または更新する(キーの値をフィールドで指定)」