形式
UPDATE()関数の形式は以下のとおりです。- ターゲットフォーム:データを更新する対象のフォームです。
- メイン条件:ターゲットフォーム内で更新するフォームレコードを特定します。メイン条件は論理関数を用いて構築します。
- サブ条件:更新するフォームレコードは特定済みで、更新対象の値がそのレコード内のサブフォームに属する場合に使用します。サブ条件により、どのサブフォームレコードを更新するかを特定します。論理関数を用いて構築します。サブフォームの値を更新する必要がない場合は、""を入力してください。この引数は省略できません。
- ターゲット列:
- ターゲット値:ターゲット列に更新する値です。ターゲット値には、現在の入力フォームのコンポーネント値、更新対象となるターゲットフォームのコンポーネント値、固定値、または他の関数で構成した値を指定できます。
ユースケース
入力フォームの標準コンポーネントのデータでターゲットフォームの標準コンポーネントのデータを更新する
使用するフォーム- 在庫フォーム:商品名(一行テキスト)、在庫数量(数値コンポーネント)
- 出荷フォーム:商品名(ドロップダウン選択)、現在の在庫(数値コンポーネント)、出荷数量(数値コンポーネント)
- 在庫フォームには、各商品の在庫数量が保存されています。商品は出荷フォームを通じて出荷されます。
- 出荷フォームの商品名は、在庫フォームの商品から取得します。
- 出荷フォームで商品を選択すると、現在の在庫数量が表示されます。
- 出荷時、出荷数量は在庫数量を超えることはできません。
- 出荷後、在庫フォーム内の該当商品の在庫数量は、それに応じて差し引かれる必要があります。
- 要件の説明:
- 数式の設定:以下のとおり、出荷フォームのビジネス関連ルールに数式を設定します。
- 数式の説明:
入力フォームのサブフォームコンポーネントのデータでターゲットフォームの標準コンポーネントのデータを更新する
使用するフォーム- 出荷フォーム:商品カテゴリ(ドロップダウン選択)、出荷サブフォーム(サブフォームコンポーネント)。出荷サブフォームには、商品名(ドロップダウン選択)、現在の在庫(数値コンポーネント)、出荷数量(数値コンポーネント)が含まれます。
- 在庫フォーム:商品カテゴリ(ドロップダウン選択)、商品名(一行テキスト)、在庫数量(数値コンポーネント)
- 要件の説明:出荷フォームには出荷明細が含まれ、複数の商品を一度に出荷できます。出荷された各商品について、在庫フォームの対応する在庫数量を差し引きます。
- 数式の設定:以下のとおり、出荷フォームのビジネス関連ルールに数式を設定します。
- 数式の説明:
入力フォームの標準コンポーネントのデータでターゲットフォームのサブフォームコンポーネントのデータを更新する
使用するフォーム- 在庫フォーム:商品カテゴリ(ドロップダウン選択)、在庫サブフォーム(サブフォームコンポーネント)。在庫サブフォームには、商品名(一行テキスト)と在庫数量(数値コンポーネント)が含まれます。出荷フォーム:商品カテゴリ(ドロップダウン選択)、商品名(一行テキスト)、出荷数量(数値コンポーネント)
- 要件の説明:在庫フォームには複数の商品の在庫数量が記録されています。出荷フォームでレコードを送信するたびに、在庫フォームのサブフォーム内で該当する商品データが見つかった場合、一致した商品の在庫数量から出荷数量が差し引かれます。
- 数式の設定:以下のとおり、出荷フォームのビジネス関連ルールに数式を設定します。
- 数式の説明:
注意事項
- ターゲットフォームのメインフォームフィールドを更新する場合、UPDATE関数は最大100件のレコードの更新に対応しています。ターゲットフォーム内のレコードのサブフォーム明細を更新する場合、Freeプランでは最大50件の明細レコード、ベーシック版およびプロフェッショナル版では最大500件のレコードに対応します(デフォルトは50件です。フォーム編集ページでサブフォームレコードの上限を500に設定してください)。
- UPDATE関数は、1回の実行で1つのサブフォームコンポーネント内のデータのみ操作できます。複数のサブフォームコンポーネント内のデータを操作する必要がある場合は、複数のUPDATE関数を設定してください。
- メイン条件とサブ条件は論理関数を用いて構築します。ANDおよびORを除き、その他の論理関数の第一引数はターゲットフォームのコンポーネントである必要があり、2つの引数の順序を入れ替えることはできません。
- プレミアム数式コンポーネントの対応スコープは以下のとおりです。
- 数式の設定時に「実行に失敗しました。ビジネスルールの設定をご確認ください」というエラーが表示された場合、どうすればよいですか?