やること「レコードを更新する(キーの値を直接指定)」 と同様にカスタマイズ対象のレコードと紐づくレコードを更新することができ、キーにフィールドを指定するのが、やること「レコードを更新する(キーの値をフィールドで指定)」です。
これは、やること「レコードを更新する(キーの値を直接指定)」と一見似ているのですが、利用できるシーンに一部違いがあります。
具体的には、次の例のようにテーブル内の値をキー項目として設定した場合に、テーブル行の件数分だけ処理を繰り返すことができます。
ただし、やること「レコードを更新する(キーの値を直接指定)」ではキーとして「フィールド」「他のアクションの結果」「関数」などが指定できるのに対し、やること「レコードを更新する(キーの値をフィールドで指定)」では、キーに指定できるのは「フィールド」のみとなる点に注意が必要です。
この記事では、やること「レコードを更新する(キーの値をフィールドで指定)」を用い、案件管理アプリのレコードを更新した時に、発注台帳アプリの発注台帳キーをもとに数量が更新されるカスタマイズを作ります。実行例は次のようになります。
アプリ
カスタマイズ例を確かめるためには、2つのアプリを作成します。
※今回動かすのに必要最低限となるフィールドのみ記載しています
案件管理
※フィールド名とフィールドコードは同じものを指定
発注台帳
※フィールド名とフィールドコードは同じものを指定
カスタマイズ
カスタマイズは「案件管理」アプリに対して行います。
また、アクションは次のように設定してください。
レコードを保存した直後にレコードを更新する
やること「レコードを更新する(キーの値をフィールドで指定)」、条件「レコードを保存した直後(削除後は除く)」「現在の画面が追加画面または編集画面ならば」を用います。
「やること」のパラメータのキーとなる更新先のフィールド、キーの値となるこのアプリのフィールドはどちらも「発注台帳キー」を設定します。
また、マッピングは次の要領で設定します。
解説
このように、やること「レコードを更新する(キーの値をフィールドで指定)」のパラメーター「キーの値となるこのアプリのフィールド」に、テーブルの中のフィールドを指定すると、テーブルの件数分だけ処理を繰り返すことができます。
これは、やること「レコードを更新する(キーの値を直接指定)」では実現することができません。
今回の例ではテーブル行が4行ありますが、1つのアクションだけで4行すべてをキーとして指定し、レコード更新をすることが可能です。また、テーブル内のフィールド「発注台帳キー」を「キー」としました。
注意点
このやること「レコードを更新する(キーの値をフィールドで指定)」を一覧画面で使用する場合、一覧画面に表示された数だけ処理が繰り返されます。
ただし、一覧画面に表示されているレコードだけが対象になりますので注意が必要です。一覧画面の条件に合致していても、表示されていない次ページ以降のレコードは処理対象になりません。
おわりに
この記事では、やること「レコードを更新する(キーの値をフィールドで指定)」を使い、テーブル行の全行を元にして、他のアプリのレコードを更新するカスタマイズをご紹介しました。
また、ご不明点等ございましたら、チャットにてご質問ください!



