いまさらお恥ずかしい話なのですが、どうにも行き詰まってしまい、ご相談に上がりました。
テーブル:A
・_1 (計算) = 1
・性別(テキスト)
テーブル:B
・_1 (計算) = 1
・測定値1(計算)= If ( A;;性別 = "男" ; "0~2" ; "0~5" )
・測定値2(計算)= "130 mm"
・測定値3(計算)= "85 mm"
リレーション
A;;_1 = B;;_1
・このリレーションシップを利用して・・・などはすべてチェック無し。
上記のような構成で、テーブルAの「性別」が入力された時、その値に対応した値が「測定値1」に返されるようにしたいだけなのですが、フィールド「測定値1」は空白のままです。
「測定値2」「測定値3」は表示されています。
作業環境
Windos Vista HP SP2
FileMaker PRO 11 0v3
ご教示の程宜しくお願い致します。
基準値テーブルのフィールドは計算式になっていますが、基準が変わるのは性別だけですか?
もし性別だけであるのなら、基準値テーブルのフィールドは全てテキストフィールドにして
性別 = 男 と 性別 = 女 の 2 レコードを作成して、全ての基準値フィールド(基準値1〜基準値300 ?)は
テキストフィールドなり、数字フィールドにします。
性別で分岐するような計算式は必要ありません。その代わり 基準値テーブルに 2 レコード作ってください。
[検査結果::氏名コード] - [担当者::氏名コード] [担当者::性別] - [基準値::性別]
のような形のリレーションにすれば、検査結果テーブルから基準値を引っ張ることができます。
また、計算フィールドに数値や文字列を直接に記述した定数(リテラル)の計算式を書いてしまうと
修正が大変になるので、すべて編集できる形の値にしておいた方が後々のメンテナンスが楽になるかと思います。