0o0dグッ

インスタント Web 公開では、自動入力の計算値が更新されない

インスタント Web 公開では、自動入力の計算値が更新されない
問題
たとえば、フィールド A とフィールド B という 2 つのテキストフィールドを持ったデータベースがある場合、フィールド B に対して計算によってフィールド A と同じ値を自動入力するように設定し([フィールドに既存の値が存在する場合は置き換えない]ボックスはチェックしません)、これをインスタント Web 公開でホストするといったときの問題です。

このデータベースをインスタント Web 公開で表示し、編集モードでフィールド A の値を変更して送信しても、フィールド B の値は、変化しません。何度送信しても同じです。

この動作は、フィールド A からクリックアウトすると即座にフィールド B の値が更新される FileMaker Pro の動作とは異なります。

解決方法
1 レイアウトからフィールド B を削除するという方法があります。こうしておけば、フィールド A が変更されたときにフィールド B も更新されます。また、フィールド B に対して[データ入力時の値変更の禁止]を指定しておきます。これで正しく更新されるようになります。

2 レイアウト上でフィールド B をフィールド A の背後に配置するという方法で対処することもできます。送信時には、各フィールドが後ろから前に向かって更新されるため、送信された値が既存の値とは異なるフィールドだけが変更されるようになります。

説明
これは、フォームを使った送信モデルの制限です。この問題が発生するのは、フィールド B が変更可能となっていて、その値が更新されるのがフォームの送信時となるためです。