4 返信 最新の回答 日時: Jun 2, 2009 8:10 PM ユーザー:IwaoAVE!

    「フィールド設定」スクリプトステップの計算結果としてフィールド同士の減算を指定すると、値が設定されない場合がある。

    IwaoAVE!

      概要

      「フィールド設定」スクリプトステップの計算結果としてフィールド同士の減算を指定すると、値が設定されない場合がある。

      問題の内容

      使用している FileMaker バージョン: FileMaker Pro Advanced 10.0v1使用している OS: Mac OS X 10.5.7詳細: 入力値が数字のみに制限されているフィールドに対して値を設定する「フィールド設定」スクリプトステップが、特定の条件を満たす場合に失敗する。問題を再現するための詳しい操作手順:1. 新規データベースを作成する。2. 数字フィールドを3つ作成する。説明のため、a, b, c とする。3. フィールド c のオプションで、入力値の制限を「常時」に設定し、タイプを「数字」に限定する。4. データベース定義ダイアログを閉じ、ブラウズモードで作成したテーブルを表示する(レコードが無ければ1件作成する)。5. フィールド a に 200 と入力する。6. スクリプト管理ダイアログを開き、新規スクリプトを作成する。   「フィールド設定」スクリプトステップを追加し、ターゲットフィールドとして c を指定する。計算結果はフィールド同士の減算[a - b]を指定する。7. スクリプトを保存し、実行する。予想される結果:フィールド c に 200 が設定される。実際の結果:フィールド c は空欄のまま。スクリプトデバッガを使用すると、エラー502 が発生していることが分かる。表示されたエラーメッセージ:なし追加情報:- ステップ6で、計算結果として加算[a + b]を指定した場合には、フィールド設定スクリプトステップは成功し、フィールド c には値 200 が設定される。つまり、加算と減算で動作が異なる。- [a - b]の計算結果を変数に格納し、この変数をフィールド設定の計算結果として指定した場合でも結果は同じ。データビューアでは変数に 200 が設定されていることが確認できる。変数設定時またはフィールド設定時に GetAsNumber を使用しても結果は変わらない。適用可能な対処方法:フィールド設定の計算結果を下記のように指定すれば、フィールドには 200 が設定され、エラーも発生しない。a - (0 + b)