例えば、販売注文で出荷が確定し、その商品の在庫が減算されるなど、フォームAのデータでフォームBのデータを変更したい場合、「他のフォーム内のフィールド値を更新」の機能で実現できます。
次の例では、在庫引き落としで説明します。
ここでは、左側が販売注文書、右側が製品リストという2つのフォームがあります。
販売注文書のデータを使って商品の在庫に反映させるので、販売注文書の「他のフォーム内のフィールド値を更新する」を設定する必要があります。
フォームのデザインモードで、 フォームツールを選択し、 カスタムボタンの下にある他のフォーム内のフィールド値を更新するを見つけてください。
ポップアップウィンドウでは、他のフォームで更新されるフィールドの値を設定することができます。ここでは、フィールド値を更新するフォームとして、製品リストを選択します。
その上で、どンな状況でどのように更新するかを設定することができます。
販売注文書フォームのこのフィールド:数量
右に更新:"-" (在庫を差し引くので、ここで「マイナス」を選択する)
商品リストフォームのこのフィールド:在庫数量
一度に複数のフィールドを更新したい場合は、+を押して追加することができます
注意:フィールドの値の更新は、上から下へ順番に行われる。
販売注文書フォームのこのフィールド:項目
が
商品リストフォームのこのフィールド:商品名
複数の条件を設定した場合は、+を押して新しい条件を追加できます(複数の条件を設定した場合、すべての条件を満たしたときのみボタンが実行されます)
注意:条件が正しくない場合、他のフォームフィールド値を更新の設定を保存できません。 よくある設定ミスは こちらで確認できます。
フォーム在庫内の関数を再計算:在庫フォームに、データ更新の影響を受けるフィールドを参照する数式を持つ他のフィールドがある場合、関数の再計算ボックスにチェックを入れ忘れないでください。このようにして、データ更新アクションボタンによって在庫フォームのデータが更新されると、このフィールドを参照する数式が再計算されます。
復元ボタンを作成:このオプションはデフォルトでチェックされており、データ更新アクションを復元するための追加ボタンを作成します。 このアクションボタンをクリックすると、以前にデータ更新ボタンを押したときの結果を復元できます。
保存時に自動で実行: 新規または更新されたデータを保存すると、システムは自動的に他のフォームのフィールド値を更新します。 (これにより、最新のデータのみが更新されます。) フォームには、他のフォームのフィールド値を更新するための自動実行ボタンが1セットのみ存在できます。
以上の設定が終わったら、他のフォームのフィールド値を更新するアクションを作成ボタンをクリックし、ポップアップウィンドウでアクションボタンに名前を付けます。確定すると、フォーム設定のアクションボタンに追加されます。 (アクションボタンは、各エントリのフォームページの右下に表示されます)
このアクションボタンを追加すると、新しい日付と時間のフィールドが追加され、アクションボタンを押したときに自動的に入力されます。
注意! このフィールドは、他のフォームのフィールド値を更新する際に必要ですので、削除しないでください!
以上のことが確認できたら、このフォー ムデザインを保存しておきましょう。
次に、このアクションボタンをテストするために、新しい販売注文を追加します:
この販売注文では、商品リストから「2017年カレンダー」という商品を選択すると、選択リストにはこの商品の現在の在庫が5個、この販売注文で注文したこの商品の数量が2個と表示されています。
この注文を追加して保存したら、右下の「出庫」アクションボタンをクリックします。
アクションボタンを押すと、データが更新されたのメッセージが表示され、システムが作成した日時フィールドにアクションを行った日時が自動的に入力されます。
そこで今、「2017年カレンダー」というアイテムの在庫を見ると、3が表示されています。
「出庫」の更新を復元する場合は、「復元 出庫」ボタンをクリックします。 (更新ボタンの設計時に「復元ボタンの作成」にチェックが入っている場合のみ、「復元 出庫」のボタンが表示されます)。
そうすると、システムによって作成された日付と時刻のフィールドがクリアされ、他のフォームのフィールド値の更新(この場合は出庫)が行われていないことがわかります。
復原ボタンの使い方:
1. 直接実行し、最終更新日時を自動的に消去する
注:最終更新日が空の場合、復元は行われず、" 実行成功 "が返されます(更新が行われていないように、連続的な復元を避けられます)
1. 加減算を行う場合は、更新する元フィールドと対象フィールドの両方が数値フィールドである必要があります。 (文字列を記入する場合は"="を使用してください)
2. 他のフォームのフィールド値を更新するには、少なくとも条件一つを設定する必要があります。
3. 異なる条件を設定する場合、対象条件フィールドを重複して設定することはできません。
4. 他のフォームのフィールド値を更新のアクションボタンを設定するときにシステムが追加された日付と時刻のフィールドを削除することはできません、さもなければアクションボタンは無効になります。 (このフィールドは、必要に応じて名前を変更したり、非表示にすることができます)。
5. アクションボタン記録日時フィールドにすでに記録(値)がある場合、他のフォームフィールドの値を更新するアクションボタンや復元アクションボタンは押せません。アクションボタンを2回押したい場合は、まず記録動作日時フィールドの値をクリアする必要があります。
6. 「他のフォームのフィールド値を更新」アクションが複数設定されている場合、「保存時に自動的に実行する」に設定できるのは、そのうちの1つだけです。
アクションボタンの削除については、こちらの文書をご覧ください。
また、アクションボタンの使用権限を制限するなど、アクションボタンに関する追加設定を行いたい場合は、こちらの文書を参照してください。